QNX launch configuration properties
The launch configuration properties are defined in multiple tabs and fields that vary with the launch configuration type. For those types that support QNX projects, you can configure C/C++ project properties, runtime analysis tools, and settings for uploading binaries to a target.
You can find information about the Eclipse launch configuration templates in the
entry of the C/C++ Development User Guide.Also, the properties for Neutrino Kernel Event Trace are completely different than those of other QNX launch configuration types. The QNX File Transfer configuration type shows only the Common tab and its own File Transfer tab.
Main tab
- Project
- The project that this configuration applies to. You can enter the project name in the text field or click Browse to select the project from the workspace.
- C/C++ Application
- This field tells the IDE which binary file to run. You can name a file by specifying an absolute path on your host or a relative path within the project.
- Build Configuration
- The build configuration to use. This selection determines which binary version gets built (if required) before the project is launched. Note that this setting is significant only when Auto-build (explained below) is enabled.
- Auto-build
- This set of radio buttons lets you choose an auto-building policy. The options are: Enable, Disable, or Use workspace settings.
- Target
-
The target for running an application when you launch it using one of these two methods:
- from the launch configuration manager, by clicking Run (or the equivalent task button) in the bottom right corner
- from the Project Explorer, by right-clicking a project and selecting Run As, Debug As, or Profile As, then the launch configuration type from the submenu listings or the configurations selector, and then the launch configuration itself from the popup list
Arguments tab
- C/C++ Program Arguments
-
The command-line arguments to pass to the executable binary.
You don't need to include the executable file's name and you must separate the arguments with spaces (not commas or other
characters). For example, if you want to send the equivalent command line of HelloWorld -v -L 2, type
-v -L 2
into this text field. - Working Directory
- The target directory in which the executable runs. Initially, this box is unchecked, which means the executable runs in the same directory that it's uploaded to. This upload directory is defined by the Remote directory field in the Upload tab. If you uncheck the box, you can enter a different directory path in the text field or select a directory from a file selector.
- Adaptive Partition
- When you check this box, you can select the adaptive partition in which to run the executable. For an explanation of the concept and benefits of adaptive partitioning, see the Adaptive Partitioning chapter of the System Architecture guide for the OS version that your target is based on.
- Priority and Scheduling
-
Checking this box lets you set the priority and scheduling algorithm for the threads of the application process.
Information on thread priority and scheduling is found in the
Thread Scheduling
section of the System Architecture guide. - Test Runner
- Checking this box lets you select a test framework to run unit tests. For information about the supported test frameworks and running test programs, see the Unit Testing chapter.
Environment tab
- New — Opens a prompt to enter a variable name and value. For the value, you can select an IDE variable (e.g., string_prompt).
- Select — Opens a window that lists the environment variable settings of the host, allowing you to add any subset of those variable settings to the launch configuration.
- Import — Opens a file selector that lets you choose a local file to read to populate the list
of environment variable settings. The selected file must be a text file, with one name-value pair per line, in this format:
VARNAME=value
There are also buttons on the side to edit or remove existing variable definitions, and radio buttons at the bottom to choose whether the environment variable settings shown here should be appended to or override the settings on the target.
Upload tab
- Upload executable to target
- This option tells the IDE to upload the executable binary to the target (if necessary) when launching the project. When this radio button is selected (as by default), the text field is called Remote directory and it stores the location that the binary is uploaded to. You can either enter an absolute path or click Browse and select a directory from the file navigator. This directory must contain any shared libraries needed by the application, or you must upload those libraries by using the Upload shared libraries setting.
- Use executable on target
- This option tells the IDE to run an executable binary found on the target. When this radio button is selected, the text field is called Remote executable and stores the location of the executable. You can either enter an absolute path or click Browse and select a directory from the file navigator. This directory must contain any shared libraries needed by the application, or you must upload those libraries by using the Upload shared libraries setting.
- Upload shared libraries or other files to the target before launch
- When this box is checked (as by default), the IDE uploads the listed files to the target when launching the project. These files can be libraries, executables, or data files.
- Remove uploaded components after session
- Makes the IDE remove, from the target machine, the executable binary and any other uploaded files after the application finishes executing.
Debug tab
- Debugger
- This checkbox turns debugging on or off. When it's checked, you can see and set the debugger options. When the box is unchecked, the IDE hides the debugger options and doesn't attach the debugger when you launch the application.
- Stop on startup at
- When this option is set, the debugger stops when it enters the function named in the text field (by default, main()). The text field must be filled in when the box is checked.
- GDB debugger
- The GDB version to use. The default value of gdb means the IDE selects the version based on the architecture of the executable. The IDE comes with several GDB versions, each of which is named according to its supported architecture (e.g., ntoaarch64-gdb). Information on the debugger is given in the gdb entry in the Utilities Reference.
- GDB command file
- Provides the path of a file containing commands to be executed by GDB. The default path is .gdbinit.
- Load shared libraries automatically
- When this option is set, the debugger loads shared libraries used by the application and found on the host, so you can step through their code. You can uncheck this box to save memory on the host, because library symbols can consume significant memory.
Source tab
Defines the locations in which the debugger should look for source files. This tab is displayed by launch configuration types that support debugging.
- Source Lookup Paths
-
Lists the
source containers
, which define the paths for finding source code when debugging. The search order of the paths is from top to bottom in the list. - Search for duplicate source files on the path
- When checked, the IDE continues to search the lookup paths for a source file with the same name even after finding the first file with a matching name.
Common tab
- Save as
-
When you create a launch configuration, the IDE saves it as a .launch file. You can save this file in one of two locations:
- Local file — The IDE stores the configuration file in workspace_dir/.metadata/.plugins/org.eclipse.debug.core/.launches.
- Shared file — The IDE stores the configuration file in the workspace. You must either name a workspace path in the text field or choose a location from the folder selector.
- Display in favorites menu
- Adds the configuration to the favorites lists in the toolbar menus shown on the right of the launch bar. For example, if you check the boxes for Debug and Profile, you'll see the launch configuration in the favorites list in each of the Debug and Profile toolbar menus.
- Encoding
- The encoding scheme to use for console output. There are radio buttons to select either the default encoding scheme of UTF-8 or another scheme from the adjacent dropdown.
- Allocate console (necessary for input)
- When checked, the IDE assigns a console view to receive the input.
- Input File
- Names a file to redirect the standard input from. In the text field, you can enter an absolute path from the local filesystem or a relative path within the workspace. The buttons below let you select a file using a file selector, or use an IDE variable to define an input file.
- Output File
- Names a file to redirect the standard output to. In the text field, you can enter an absolute path from the local filesystem or a relative path within the workspace. The buttons below let you select a file using a file selector, or use an IDE variable to define the output file.
- Append
- When this box is checked, the IDE appends (and doesn't overwrite) the output file.
- Launch in background
- When this property is set (as is the default), the IDE carries out the launch configuration task in the background.
Libraries tab
- Shared Libraries Path
- Lists the paths for finding shared libraries. The list entries can name files or directories, in the workspace or local filesystem. The search order of the paths is from top to bottom.
- Validate and auto-populate library paths automatically prior to launching
- When this box is checked (as by default), the IDE verifies that the library paths are up-to-date and if necessary, redefines those paths before each launch. You can uncheck this box after your target setup is done and you know that the library paths won't change anymore.
Tools tab
This last tab allows you to configure runtime analysis tools, and is shown by the C/C++ QNX Application and C/C++ QNX Attach to Remote Process launch configuration types. For the Debug, Run, and Attach modes, which support multiple tools, the tab is simply called Tools. For the modes dedicated to specific analysis tasks—Memory, Check, Profile, and Coverage—the tab name matches the mode.
- No Tool—lets you choose to not use a runtime analysis tool
- Valgrind—enables controls for selecting a Valgrind tool and configuring general and tool-specific options
- Application Profiler—lets you set the profiling method, scope, and function profiling options
- Memory Analysis—lets you specify the types of memory errors to check for, stack tracing parameters, when to take memory snapshots, and other settings
- Code Coverage—lets you specify the source files to analyze for code coverage, the polling interval, and more
There's also a checkbox for enabling the System Profiler, which can run concurrently with other tools.
Explanations of how to configure and use these tools are given in the Integrated tools
section.