Run Mode On-Device Debugging

To implement run mode on-device debugging the following tasks need to be completed.

  1. Install device connection software
  2. Install Perl
  3. Install an SDK
  4. Setup environment variables
  5. Setup a virtual drive for Techview and Cust Kits
  6. Set the default kit in Devices.xml
  7. Install the SISX file on the target device
  8. Configure TRK connection on the device
  9. Create a launch configuration

Creating a Launch Configuration setup

  1. Import the MMP or INF file
  2. Select the Project in the C/C++ Project pane you want to debug
  3. From the IDE select Run > Debug…
  4. The New Launch Configuration Wizard appears
  5. To communicate between the Carbide.c++ debugger and the on-device debug agent or protocol interface you must define a debug launch configuration. The Debug window is where you define the type of debug launch configuration to use when debugging programs on the target device (Figure 4).

    Figure 4. Debug Window

  6. Select either a Symbian OS Application TRK or Symbian OS System TRK configuration type for on-device debugging and click New
  7. For debug launch configurations using the TRK debug agent, the following pages require review and possible option settings:

    Click Debug after all the preference panels have been set. The Debug window closes and the Carbide.c++ debugger begins a debugging session using the new configuration. The next time you click the Debug icon, this debug launch configuration is used to start a debug session.

Main Tab

The Main pane defines the project to be launched on the target device. Table 1 defines the fields.

Figure 5. Debug window - Main Tab

Table 1. Main pane

Item Explanation
Project

The project to associate with this debug launch configuration. Click Browse to select a different project.

Remote process to launch The absolute path of the remote process to launch on the target device.
Debugger Tab

The Debug or launch configuration window's Debugger pane provides control over entry points, message handling, and instruction set default settings.

Figure 6. Debug window's Debugger Pane

Table 2. Debugger pane

Item Explanation
Break at entry point

When checked, break at the specified entry point entered in 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 When checked, show the contents of any unframed messages from the communications port in a Console view.
View messages between Carbide and debug agent

When checked, show the communications between the PC and the target device in a Console view when the TRK Communciation message log is visible.

NOTE You can pin the TRK Communication message log view so that it does not lose focus.

Message retry delay (ms) Enter the delay time in milliseconds (ms) between 100 and 10000 that 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.
Connection Tab

Select the Connection tab that is available for TRK. Specify the Serial port for your configuration. The Connection pane specifies the method used to transfer files to the target device. Once the Current Connection to Target type is selected, the remaining options contain default values for the specific connection type. You can change these options to match the target device's communication specifications.

Figure 7. Debug window's Connection pane using PC Suite

Table 3. Connection pane

Item Explanation
Current Connection to Target Choose the connection type to use when communicating with a device.
Serial Port

Select the serial port option to use for the launch configuration. Once set, this port will be used for all subsequent launch configurations until it is set again.

NOTE USB and Bluetooth can be dynamically assigned, so its critical that the port ID assigned here matches the one the system is using to communicate with the target device.

Baud Rate Use the Baud Rate option to select the baud rate for communication. The default baud rate value is 115200 bits per second (bps).
Data Bits

Use the Data Bits option to select a common data bits size (4, 5, 6, 7, and 8). The default data bits value is 8.

Parity Use the Parity option to select the parity setting (None, Odd, or Even). The default parity value is None.
Stop Bits

Use the Stop Bits option to select the stop bits setting (1, 1.5, 2). The default stop bits value is 2.

Flow Control Use the Flow Control option to select the flow control setting (None, Hardware (RTS/CTS), and Software (XON/XOFF)). The default flow control value is None.
Installation Tab

For Application TRK select the Installation tab. The Installation pane specifies the .sis file to install on the target device. This is used by Application TRK because Application TRK downloads all files via a SIS file. This is required when using the TRK debug agent with 9.x based SDK’s.

Figure 8. Debug window's Installation pane

Table 4. Installation pane

Item Explanation
Installation file

Browse to and select the file to be installed.

Download directory Specify directory to receive download.
Install each launch even if installer file has not changed

Check this option to always install the .sis file.

Do not show installer UI on the phone Check this option to hide the installer interface on the phone.
Install to drive:

Select drive on phone to install the .sis file.

File Transfer Tab

For System TRK select the File Transfer pane. The File Transfer pane displays a list of files the Carbide IDE transfers to the target device at the start of each launch. By default, any file added is automatically checked for downloading to the device.

NOTE If debugging a DLL from an application and using System TRK, ensure that the DLL is included so that it is deployed to the device with the application. It is not added by default.

Figure 9. Debug window's File Transfer pane