## Launch Configuration Overview

A launch configuration defines the operational settings used by the Carbide.c++ tools to launch and debug programs. A project must have at least one launch configuration, and can have as many as necessary. This enables you to develop and debug your project using various compilers (GCCE and RVCT) and different targets (emulator, on-device, and reference boards) as each launch configuration can be tailored to fit the intended target.

#### Creating a Launch Configuration

To create a default launch configuration for a project use the New Launch Configuration Wizard. Using this method ensures that you have a working launch configuration for the project. You can invoke the New Launch Configuration Wizard for projects lacking a launch configuration by selecting the Run > Debug (F11) or Run > Run (CTRL+F11) menu options, or clicking the Run () or Debug () icons in the toolbar. If a project already has a defined launch configuration, selecting the Run or Debug command calls the previously defined and last used launch configuration, bypassing the wizard entirely.

For emulator projects the wizard simply gathers the data it needs from the project and creates an emulator launch configuration and launches the emulator. For on-device targets, more information is required, so the wizard asks for the missing information it needs, creates the launch configuration, then downloads the executable to the device and launches it. Once the emulator or device is loaded with the executable, the debug session commences.

You can customize any project launch configuration afterward using the Debug dialog as necessary.

#### Available Launch Configurations

Launch configurations come in several varieties, each designed for a specific purpose. You must choose one at the very start of the New Launch Configuration Wizard, so knowing the differences between them is important. Currently, the types to choose from include:

- Symbian OS Application — used to run or debug executables.
- Symbian OS Appication TRK — used to run or debug applications on a target device using the Application TRK on-device debug agent. Application TRK is an application that runs on released phones and allows you to debug your executables. The debugger will download a Symbian OS installation file to the phone and install it prior to launching.
- Symbian OS Attach to Process — used to debug processes running on a target device for which a symbol file is available. This is available only for TRK and stop mode debugging. This launch configuration is not available for emulator debugging. Stop mode and TRK can both attach to a process from the Symbian OS Data view.
- Symbian OS Crash Debugger — used to launch an interactive command-line session with the Symbian OS crash debugger when the device crashes
- Symbian OS Emulation — used to run or debug executables on an emulator.
- Symbian OS System TRK — used to run or debug applications or ROM code on a target device using the System TRK on-device debug agent. System TRK is an application that runs on reference boards and prototype phones and allows you to debug your executables. The debugger will download files to the phone prior to launching.
- Symbian OS Trace32 — is an external debugger that the Carbide debugger communicates with, to debug any Symbian OS module on a target using a JTAG connection.

#### Other references

- Creating Projects Overview
- New Launch Configuration Wizard
- Debug dialog