## Debugger panes

The options shown in the Debugger page differ based upon the type of launch configuration. Generally, the options fall into these choices:

- Emulation Debugger page (Emulation)
- Run-mode Debugger page (Application TRK)
- Stop-mode Debugger page (System TRK, Trace32, Attach to Process)

### Emulation Debugger page

The Symbian OS Emulation launch configurations the Debugger page to specify entry point breaks and which logs to output to the Console view.

Figure 1 - Debugger page showing emulation options

##### Table 1. Debugger page — emulation options

Option | Explanation
--- | ---
Break at entry point | Select to halt program execution at a specified function or address. Enter the desired function name or address in the corresponding field. If you enter an address, ensure that it is correct and within your program.
View program output | Enable to direct standard output messages to the Emulation Program Output Console in the Console view. NOTE In the epoc.ini file the option LogToFile must also be set to 1.
View emulator output | Enable to output emulator messages to the Emulator Output Console in the Console view. NOTE In the epoc.ini file the option LogToDebugger must also be set to 1.
View Windows system messages | Enable to output Windows system messages to the Windows System Messages Console in the Console view.

### Run-mode Debugger page

In a run-mode launch configuration like Application TRK, you can specify an entry break point and how messages are handled as well as define the default instruction set.

Figure 2 - Debugger page showing run-mode options

##### Table 2. Debugger page — run-mode options

Option | Explanation
--- | ---
Break at entry point | When checked, break at the specified entry point entered into the text field. For .EXE targets, the default entry point is set to E32Main. By default, the Break at entry point option is unchecked for all other target types.
View program output | Enable to direct standard output messages to the TRK Program Output Console in the Console view. NOTE In the epoc.ini file the option LogToFile must also be set to 1.
View messages between Carbide and debug agent | When checked, show the communications between Carbide and the target device in the TRK Communication Log Console of the Console view. NOTE You can pin the TRK Communication Log view so that it does not lose focus.
Message retry delay (ms) | Enter the delay time in milliseconds (ms) between 100 and 10000 the debugger should wait for a response. The default Message Retry Delay value is 2000.
Default Instructon Set | Specifies the default instruction set to use if the debugger cannot determine the processor mode in order to set breakpoints and to disassemble code. The options are: Auto (examine code at current PC location) ARM (32-bit) THUMB (16-bit) By default the Instruction Set option uses ARM 32-bit.

### Stop-mode Debugger page

In stop-mode launch configurations like System TRK, Trace32, and Attach to Process, use the Startup Options to attach to a target and debug or run from the specified start address. Then use Target Options to specify the target's processor type, and set which initialization and memory configuration files to use in the debug session.

Figure 3 - Debugger page showing stop-mode options

##### Table 3. Debugger page — stop-mode options

Group | Option | Explanation
--- | --- | ---
| Break at entry point | When checked, break at the specified entry point entered into the text field. For .EXE targets, the default entry point is set to E32Main. By default, the Break at entry point option is unchecked for all other target types.
Startup Options | Soft attach | Enable the Soft attach option to attach a debug session to a target and debug from the specified start address instead of the target's default start address. When enabled the downloaded image option is ignored.
Debug from start address | Enable the Debug from start address option to debug from the target's default start address.
Run from start address | Enable the Run from start address option to run from the target's default start address.
Start address (hex) | Enter in hexidecimal format (0x0) the starting address to use during the debug session.
Reset target at the start of each debug session | Forces the Carbide IDE to reset the target at the start of each debug session. This ensures that the debugging session uses the most up-to-date program code.
Target Options | Target Processor | A drop down with a list of all supported processors. The process selection should help in determining the memory model. This will in turn help determine the base address and the offsets for the Symbian OS kernel aware information.
| Target initialization file | Check this box to have the debugger run an initialization script when the debug session starts. For example, if a target device requires initialization for the debugger to be able to read and write memory or registers, you can specify an initialization script here. Click Browse to select a script file using a standard file selection dialog box. When using T32, most of the initialization is done in the CMM script file. With other debug protocols you can specify the initialization file, which can be run after connecting to the target.
| Memory configuration file | Controls whether the debugger uses a memory configuration file when a debug session starts. The Carbide debugger uses this configuration file to know which memory is accessible, readable, and writable on the target.

#### Other references

- Application TRK Launch Configuration
- Emulation Launch Configuration
- System TRK Launch Configuration