The IDE uses log configurations to remember settings for running kernel event traces. You can select a log configuration and perform a kernel event trace from the Target Navigator view. The log configuration fields let you filter what information gets logged and set how long the trace runs.
In the Target Navigator, when you right-click a project and choose the IDE displays a dialog that lists existing log configurations, allowing you to reuse saved kernel event trace settings, and provides the Open Launch Config button, allowing you to define new settings. If you click the button, the Log Configurations dialog appears and you can click the Neutrino Kernel Event Trace entry in the left pane and then the New launch configuration button (
The Launch Configurations dialog displays multiple tabs and a text field at the top for entering the configuration name.
Name | Description |
---|---|
Save Log in | The location to save the log file containing the kernel event trace data. You can:
|
Save Log Configuration as | Whether to save the configuration locally, so it's accessible to only those users with access to the chosen directory, or in a shared location, so it can be shared with developers working on other projects. For the shared setting, you must either enter a project location (e.g., \project_name\logs) or click Browse to select a location from the project explorer. |
Target Selection | The target on which you want to run the trace. You must click an entry in the list, which displays the
QNX Target System projects you've created in the workspace.
Note:
The target must be connected for you to run a kernel event trace on it.
If it's connected, you see a purple circle symbolizing a physical connector but with no red box
(
![]() ![]() |
Panel | Name | Description |
---|---|---|
Tracing duration | Type | This dropdown controls the units for measuring tracing duration. You can choose either Period of time, to limit the data capture by time, or Number of iterations, to limit the amount of data captured. |
Tracing duration | Period length | Depending on Type, this field's value is either the number of seconds that
the trace runs for or how many kernel event buffers are used.
Note: A time-based kernel event trace should be at most a few seconds because longer traces produce too much data
to be useful.
|
Trace file | Mode | In this dropdown, you can select:
|
Trace file | Filename on target | The target location for writing the kernel event log file. Available only for the save-on-target mode, this field lets you enter an absolute or a relative path. In the latter case, the file is written to /dev/shmem/. |
Trace statistics file | Mode | In this dropdown, you can select:
|
Trace statistics file | Filename on target | The target location for writing the trace statistics file. Available only for the last two file-generation modes, this field lets you enter an absolute or a relative path. In the latter case, the file is written to /dev/shmem/. |
Buffers | Number of kernel buffers | The size of the static ring of buffers allocated in the kernel. |
Buffers | Number of qconn buffers | The maximum size of the dynamic ring of buffers allocated by qconn. |
Name and scope | Description |
---|---|
Mode (General) | A general setting for the amount of information to capture in the log file. One of:
Note:
The other Event Filters fields aren't shown if you select Fast or Wide.
If you select Class Specific, the UI displays fields that you let set the mode for each class.
|
Mode (Class-specific) | The amount of information to capture for events of a particular class.
This field is shown for:
|
Name (Event-specific) | The name of the event type. Click the Mode entry in a row to change the logging mode only for that event type. Multi-select is also supported, by holding the Ctrl and/or Shift keys when selecting event entries. After you select multiple event types, you can change the logging mode for all of them by clicking the Set All Selected Properties To... button at the bottom, then selecting the mode from the dropdown list in the Properties Editor dialog box. |
Mode (Event-specific or in Properties Editor) | The amount of information to capture for the selected event types. This setting can be Disable, Fast, or Wide (which have the same meanings as they do at the class-specific level). For the Process and Thread event class, the default mode is Fast for all event types, except for Running, for which it's Wide. For all other event classes, all individual event types will be initially set to Fast mode when you select a class-specific mode of Event Specific. Note: For information about each trace event, including the data emitted for the Fast and Wide modes,
see the Current Trace Events and Data chapter in the System Analysis Toolkit User's Guide.
|
Name | Description |
---|---|
Enable address translation | A checkbox that turns address translation on or off. Address translation makes the IDE map each function event to a source file and line number and display these data in the Trace Event Log view. In the Timeline pane in the System Profiler results, you can show data related to address translation. |
Binary Locations | A tab that lists the search locations for binaries. The log file content must be matched with the binary files in your workspace for address translation to occur. The Add button on the right brings up the project explorer, allowing you to select a project folder to search for binaries in. Other buttons let you remove locations or change their search order. |
Binary Mappings | A tab that provides a grid listing of all binaries on which address translation can be performed, and their load addresses and process names. You must first add search locations in Binary Locations before you can define mappings (i.e., translations). The Add Binary button on the right opens the Binary Object Selection window, where you can enter the filename of an executable or click Browse to select an entry from the list of executables found in the previously specified locations. The same window also lets you override the executable binary's default load address and process name. To perform address translation on a library used by an executable binary, select the binary's entry and click Add Library, which also brings up the Binary Object Selection window. Here, you must define the shared object name, and you can override the library's default load address. For information about disabling default address loading, see the next subsection. In Binary Mappings, you can click Edit to redefine the binary name, load address, or process name for the selected entry. There's also a Remove button to delete it. Finally, the Import button opens a file selector that lets you pick a file that contains the output of the pidin mem command. When you pick such a file, the IDE populates the list with information about all processes listed in the pidin results that were redirected to the file. Note that you must first run such a command on the target (e.g., pidin mem > pidin_results.txt). |
Address translation is an IDE feature that maps the virtual address of each function listed in the kernel event trace log file to a source file and line number. By revealing function locations, the translation makes it easier to interpret events; when it's disabled, only virtual addresses are shown.
You can configure this feature through the Address Translation tab. By default, the Binary Object Selection window opened by the Add Binary and Add Library buttons specifies that the load address of the binary file should be automatically discovered. This makes the IDE analyze the log file to find library addresses, which it then displays for function events. Any discovered addresses are stored in the Trace Event Log data so the lookup isn't done every time you open the log file.
If auto-discovery of library addresses is unsuccessful, the IDE warns that you need to manually set the address information. You can disable the warning by selecting Provide a warning if auto-discovery address translation fails. But if want to see the addresses, you should check the Event Filters tab to ensure that for System events, the generation of MMap Name and MMap Name (64) events is enabled.
, then uncheckingIf you uncheck the Auto-discover load address box, you must enter a nondefault address in the text field above. You would only do this if there was a bug that you needed to work around.