| 1 | = IDEs for S60WebKit = |
| 2 | |
| 3 | This page contains information and recommendations about which IDE to use when developing on S60WebKit. |
| 4 | |
| 5 | As mentioned in the [wiki:S60ConfigureComputer environment setup instructions], the recommended version of the Carbide.c++ IDE is '''version 1.0'''. |
| 6 | |
| 7 | === Why? === |
| 8 | |
| 9 | Carbide.c++ version 1 is the primary recommendation because it's free software (in practice, quite a number of different IDEs are used). |
| 10 | |
| 11 | === Limitations === |
| 12 | |
| 13 | Carbide.c++ version 1.0 does have some limitations, especially with importing a large code base such as S60WebKit into an 'IDE project'. When using version 1.0, people tend to edit the source in their favorite editor and then compile/run the emulator with the [wiki:S60CheckoutAndBuild provided scripts]. Carbide version 1.0 can still be used for debugging (see below). |
| 14 | |
| 15 | == Carbide.c++ version 1.2 == |
| 16 | |
| 17 | See Marcus Groeber's comments regarding Carbide.c++ version 1.2 and S60WebKit: |
| 18 | |
| 19 | {{{ |
| 20 | What did actually work for me is build WebKit with Carbide.c++ 1.2 (due |
| 21 | to the massively improved ability to import complex bld.inf files into |
| 22 | the IDE, and then defer the building to the usual command line tools). |
| 23 | |
| 24 | You won't be able to use the build.bat script that comes with WebKit, so |
| 25 | you will need to set up a permanent "subst" of X: to the EPOCROOT of |
| 26 | your 3rd Edition SDK by hand (note that "3rd Edition MR" will not work, |
| 27 | unfortunately!), and create an additional SDK descriptor for devices.exe |
| 28 | that refers to your X: drive as the EPOCROOT: |
| 29 | |
| 30 | Device: S60_3rd_X:com.nokia.s60 |
| 31 | Root is X:\ |
| 32 | Tools path is X:\ |
| 33 | |
| 34 | It may still be necessary to run the original build script at least once |
| 35 | to copy the necessary support files in the right location, but after |
| 36 | this, I was able to rebuild and debug Reindeer from inside Carbide.c++ |
| 37 | }}} |
| 38 | |
| 39 | Thanks Marcus! |
| 40 | |
| 41 | == Debugging with Carbide.c++ Version 1.0 == |
| 42 | |
| 43 | It is recommended that you get acquainted with Carbide.c++ version 1.0 functionality by following the tutorial withing Carbide with a sample Hello World Project before attempting to debug the S60WebKit code. |
| 44 | |
| 45 | To set breakpoints in S60WebKit code for debugging with Carbide: |
| 46 | |
| 47 | * Build reindeer via the provided build scripts |
| 48 | |
| 49 | * Start Carbide.C++ Express |
| 50 | |
| 51 | * Select Menu Item: File->Import... |
| 52 | |
| 53 | * Highlight "Symbian OS Executable" and click Next |
| 54 | |
| 55 | * In Select Executable: field, enter "X:\Epoc32\release\winscw\udeb\!WebUi.exe" and click Next |
| 56 | * Confirm "New Project Name:" is "Debug !WebUi.exe" and is selected, |
| 57 | * Box "Create a Launch Configuration:" is checked and set to "Symbian OS Emulation", and |
| 58 | * "Name:" is "Debug !WebUi.exe" |
| 59 | |
| 60 | Click Finish. |
| 61 | |
| 62 | * In new "Debug" window, enter the following for "Emulator or host application:" field: |
| 63 | |
| 64 | {{{ |
| 65 | X:\Epoc32\release\winscw\udeb\epoc.exe |
| 66 | }}} |
| 67 | |
| 68 | Click Apply and then Debug |
| 69 | |
| 70 | This should allow you to set breakpoints and debug the sources that make up the !WebUi.exe binary only. To debug other Dlls/binaries that make up the Browser, do the following: |
| 71 | |
| 72 | * Return to the non-debug view of Carbide. |
| 73 | |
| 74 | * Under the C/C++ Project tab, highlight and right click on {{{Debug !WebUi.exe}}} and select {{{Import...}}} |
| 75 | |
| 76 | * Highlight {{{Symbian OS Executable}}} and click Next |
| 77 | |
| 78 | * In Select Executable: field, enter {{{X:\Epoc32\release\winscw\udeb\!MemMan.dll}}} and click Next |
| 79 | |
| 80 | Note: this example is loading !MemMan.dll but you can also select any other browser based binary file |
| 81 | |
| 82 | Select radio button "Existing Project:", click Search and select "Debug !WebUi.exe" ; |
| 83 | Uncheck the box "Create a Launch Configuration:" and click Finish |
| 84 | |
| 85 | * You can now start a debug session and set breakpoints in both !WebUi.exe and !MemMan.dll based source files. |
| 86 | |
| 87 | To add addional S60WebKit browser binaries for debugging, just repeat the steps above. |
| 88 | |
| 89 | |
| 90 | |
| 91 | |
| 92 | |