Symbian debugger

The Symbian debugger has the following particularities and limitations:

- It uses Metrowerk's App TRK module as a debugger server. You have to launch the TRK module and configure it properly before using the IDA debugger. This site hosts TRK modules for various devices: http://tools.ext.nokia.com/agents/index.htm

- The TRK module uses serial ports to communicate with the debugger. Please find out the serial port number that represents the Symbian device and specify its number as the port number in IDA, in Debugger, Process settings. You may use the Device Manager to determine the serial port number. If you leave the default port, IDA will try to autodetect the port number. In order to do so, it will look for a port with "nokia" in its description. You may change the substring to search in the description by defining the environment variable EPOC_PORT_DESCRIPTION.

- The TRK module refuses to single step into system area, but there is nothing to be done about it. This means that tracing will go up to a system call and then stop because of a failed single step command

- Hardware data breakpoints are not supported (TRK does not support them)

- TRK does not provide us with any means to determine the memory layout of the application. We introduced a method to manually specify existing memory regions. For that, use the "Manual memory regions" menu item in the Debugger menu. The defined memory regions are saved in the current database. In the case of doubt, please define one big memory region 0..FFFFFFFE However, you will need to find the application in the address space yourself. If you do not define any areas, IDA will use 0x00000000..0x80000000 as the default.

- TRK cannot properly handle an exception which happens on an instruction with active breakpoint. The exception is generated but it is impossible to resume the application.

- There is no notion of 'handled/unhandled exception' in TRK, so modifying this setting in the exception definitions will not change anything.

- Symbian debugger is supported only in the Windows version of IDA

- If nothing works, use -z10000 command line switch to get more information on the screen: the communication with the TRK module will be displayed in detail.

- Launching the debugger without an idb database is not supported.

- If the remote debugger port number is equal to 23946, IDA will search for a serial port with a keyword in its description. The keyword to search is specified by setting the EPOC_PORT_DESCRIPTION environment variable:

        set EPOC_PORT_DESCRIPTION=Symbian
The default search keyword is "Nokia".
 See also Start process
          Debugger submenu
          How to launch remote debugging
Index | Previous topic | Next topic