Running and profiling a process

To run and profile a process, with qconn on the target:
  1. Create a QNX Application launch configuration for an executable with debug information as you normally would, but don't click OK. You may choose either a Run or a Debug session.
    Note: Debug mode isn't recommend for running Function Instrumentation mode, because it can skew the profiling data results.
  2. In your launch configuration, click the Tools tab.
  3. Click Add/Delete Tool…. The Select tools to support dialog appears.
  4. Select the Application Profiler tool.
  5. Click OK.
  6. In the Application Profiler mode, select your profiler method, profiler mode, and other options, if applicable.

    To run in Sampling mode, select Sampling and Call Count Instrumentation; to run in Sampling and Call Count mode, select Sampling and Call Count Instrumentation; to run in Function Instrumentation mode, select Function Instrumentation and Single Application.

    For descriptions about these options, see Application Profiler tab.

  7. If you want the IDE to automatically change to the QNX Application Profiler perspective when you run or debug, check the Switch to this tool's perspective on launch box.
  8. Click Apply.
  9. Click Run or Debug.
    The IDE starts your program and begins to profile it.

To produce full profiling information with function timing data, you need to run the application as root; this is required when running through qconn.

If you run the application as a normal user, the Application Profiler tool can generate only call-chain information.

You have to specify the Shared library path in two locations: use the Uploads tab in the launch configuration if libraries have to be uploaded every time an application runs, and use the Shared Libraries tab on the Tools tab to specify the host location of libraries so that the IDE can read their debug symbols to show their symbol information.

Since the dynamic library isn't included with the IDE, there is an issue caused by the static linkage of the profiling library. To solve this problem, you'll need to do the following: