Launch modes

Updated: April 19, 2023

Launch modes reflect general use cases; for instance, whether you want to debug a program, measure its code coverage, or simply run it. Changing the launch mode allows you to perform different tasks on the currently selected project.

Note: Your selection in the Initial Launch Mode dialog must reflect whether your new launch configuration will be used to launch a project containing an application, library, or system image (which we call a development project), or to automate a task related to application setup, profiling, or debugging.

Launch modes for development projects

The following launch modes support development projects:
Run
Launch an application on a target. No IDE tool is run to profile the application process and no debugger is attached to it.
Debug
Launch an application with the debugger attached. The debugger used is the one named in the Debug tab of the launch configuration. For details on this workflow, see Launching an application with the debugger attached.
Coverage
Use the Code Coverage tool to find areas of code not exercised (covered) by test cases. This activity helps you improve test case coverage to ensure no hidden bugs remain in your code.
Memory
Measure memory usage with the Memory Analysis, Application Profiler, or any of the Memcheck, Helgrind, or Cachegrind tools from Valgrind.
Profile
Profile an application using the Application Profiler or any of the supported Valgrind tools.
Check
Perform runtime checking for memory errors with Valgrind Memcheck, any of the other supported Valgrind tools, or Memory Analysis.
Attach
Attach an IDE tool to a running process on the target, to debug a program or obtain realtime profiling data. You can attach any of the Application Profiler, GDB, and Memory Analysis tools.

When building a development project, the IDE generates output files that support the selected launch mode. For instance, when Code Coverage mode is selected, the IDE builds an instrumented binary along with the data files required by the code coverage tooling.

When running an application, the launch mode determines which binary version is uploaded to the target and which perspective is opened. For Code Coverage mode, the IDE uploads the binary built to output code coverage metrics, starts running this binary, and switches to the QNX Analysis perspective. The perspective switch ensures that you immediately have access to the features that support your current task.

Launch mode for debugging over a serial link

If you're using a serial connection between the host and target and you want to debug a program over that connection, you must select an initial launch mode of Debug, then select the C/C++ QNX Serial Debugging launch configuration type (in the next dialog of the wizard).

Information on setting up a serial connection is given in Serial communication.

Launch mode for kernel event tracing

The Log launch mode lets you define a launch configuration for performing a kernel event trace. This activity doesn't involve running an application but instead gathering event data from the instrumented kernel.

If you select a launch configuration designed for kernel event tracing, only the Log mode is available in the Launch Mode dropdown. There is no build activity for this mode; nothing happens if you click the Build button in the launch bar. Clicking the Log button starts the kernel event trace on the selected launch target.