Target Navigator

Updated: April 19, 2023

The Target Navigator lists the targets and, for the connected ones, the processes running on them. Through this view's controls, you can configure kernel event tracing and adaptive partitioning for targets and send signals to processes, attach the debugger to them, and adjust their scheduling properties.

This view is also used to select the process for which you want to view runtime data. When you click a process entry in the Target Navigator, several other System Information views are updated to show that process's statistics, as explained in How data are displayed.”

The QNX System Information and QNX System Profiler perspectives automatically open this view but you can access it at any time through: Window > Show View > Other > QNX Targets > Target Navigator

The targets and processes are listed in a tree:

Screenshot of Target Navigator showing list of processes on a connected target
By clicking the button for the customization dropdown (Icon: Dropdown button) in the toolbar along the top, you can access options for:
  • grouping processes by PID family
  • sorting processes by PID or name
  • changing the refresh rate
The toolbar also has buttons for:
  • reversing the sorting order (Icon: Reverse sort)
  • disabling or re-enabling auto-refresh (Icon: Disable auto-refresh)
  • manually refreshing the display (Icon: Manual refresh)
  • starting or configuring kernel event tracing (Icon: QNX logging)
  • creating a new target connection (Icon: Create QNX target)
  • minimizing and maximizing the view

Interacting with targets

You can interact with targets by right-clicking their entries and using the context menu. This menu allows you to refresh a target's process list, rename or delete its connection, or create a new connection. It also has options to open the device log (which appears in the Console view), launch an SSH or Telnet session, attach the debugger to a process, start kernel event tracing, and manage adaptive partitions settings:

If you point to Attach As, the resulting submenu has two options: C/C++ QNX Attach to Process and Attach Configurations. For the first option, the IDE opens a window for selecting a process from a list. When you then do this, the IDE creates a launch configuration called attach.process_name and tries to launch it by attaching the debugger to the running process. For the second option, it opens a window for managing launch configurations, in which you can create your own attach configuration.

The Log With option lets you run a kernel event trace. From the APS submenu, you can configure the adaptive partitioning scheduler, as described below in Configuring APS. Finally, the Properties option opens the QNX Qconn Target panel for configuring the target connection.

Interacting with processes

When you right-click a process entry, you see different context menu options than for targets:

Some target-level operations are still accessible from the process-level menu. These include refreshing the process list, creating a new connection, launching a kernel event trace, and displaying the target properties. Here, the Attach As option doesn't display a window with a process list—the IDE just creates the new attach configuration and tries to launch it to start debugging the selected process.

The middle portion of the menu shows options for interacting with processes. For example, you can send signals by clicking Deliver Signal and then, in the resulting popup window, selecting the appropriate signal from the dropdown list and clicking OK. You can explicitly terminate a process by selecting Slay. There are also options to adjust a process's priority and its inherited and non-inherited CPU affinities.

Each of these process options opens a popup window for setting the corresponding property. For information about scheduling priorities and policies, see the Thread scheduling section in the System Architecture guide. For information about the CPU affinity settings that associate threads with a particular core, see the Thread affinity section in the Programmer's Guide.

Configuring APS

The APS submenu in the context (right-click) menu for a target contains these options:
Set APS Security
This option opens a popup window that provides checkboxes for enabling APS security flags. These flags determine who can add partitions and modify their attributes, and are described in the Security section for the SchedCtl() entry in the Utilities Reference.
Note that after you set a flag, you can't unset it through this window, so the flag doesn't appear anymore. To unset it, you must reboot the target.
Set APS Parameters
The popup window opened by choosing this option lets you modify the length of the averaging window, which is the time interval used to calculate CPU usage, and enable specific bankruptcy flags, which determine how the system reacts when a partition exhausts its critical budget and hence, becomes bankrupt; these flags are described in the Handling bankruptcy section for the SchedCtl() entry.
Note that after you set a flag, you can't unset it through this window, so the flag doesn't appear anymore. To unset it, you must reboot the target.
Modify Existing Partition
This option lets you select a partition and set its budget and critical budget. The first setting is a percentage of CPU usage while the second is in milliseconds.
Create New Partition
Choosing this option opens a window into which you can enter a name, parent partition, budget, and critical budget to create a new partition. The new partition's budget is taken from its parent's budget.