Changes between Initial Version and Version 1 of S60IDE


Ignore:
Timestamp:
May 21, 2007 12:35:00 PM (17 years ago)
Author:
bradley.morrison@nokia.com
Comment:

initial revision

Legend:

Unmodified
Added
Removed
Modified
  • S60IDE

    v1 v1  
     1= IDEs for S60WebKit =
     2
     3This page contains information and recommendations about which IDE to use when developing on S60WebKit.
     4
     5As mentioned in the [wiki:S60ConfigureComputer environment setup instructions], the recommended version of the Carbide.c++  IDE is '''version 1.0'''.
     6
     7=== Why? ===
     8
     9Carbide.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
     13Carbide.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
     17See Marcus Groeber's comments regarding Carbide.c++ version 1.2 and S60WebKit:
     18
     19{{{
     20What did actually work for me is build WebKit with Carbide.c++ 1.2 (due
     21to the massively improved ability to import complex bld.inf files into
     22the IDE, and then defer the building to the usual command line tools).
     23
     24You won't be able to use the build.bat script that comes with WebKit, so
     25you will need to set up a permanent "subst" of X: to the EPOCROOT of
     26your 3rd Edition SDK by hand (note that "3rd Edition MR" will not work,
     27unfortunately!), and create an additional SDK descriptor for devices.exe
     28that 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
     34It may still be necessary to run the original build script at least once
     35to copy the necessary support files in the right location, but after
     36this, I was able to rebuild and debug Reindeer from inside Carbide.c++
     37}}}
     38
     39Thanks Marcus!
     40
     41== Debugging with Carbide.c++ Version 1.0 ==
     42
     43It 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
     45To 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
     70This 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
     87To add addional S60WebKit browser binaries for debugging, just repeat the steps above.
     88
     89 
     90
     91
     92