View memory analysis data
When you view a connected memory analysis session, the Memory Analysis perspective opens that session in the main editor area of the IDE:
The top half of the window shows details for the data selected in the bottom half, which is an overview of the entire memory analysis session data set:
The details include a table of information about the allocations. If you select an allocation, a vertical line indicates its position in the Details chart, and the backtrace (if available) is displayed below the table. If you click on a backtrace, the editor displays the associated source code (if available) in another tab.
The icons in the table indicate the type of allocation or deallocation:
The Allocations Overview can be very wide, so it could be broken into pages. You can use the Page field to move from one page to another, and you can specify the number of points to display on each page.
![]() |
If the process does many allocations and deallocations, it could take some time for the traces and events to be registered, indexed, and displayed. |
The tabs at the bottom let you switch between several different data views:
The Memory Analysis perspective updates the details to reflect the data region you've selected.
The Memory Analysis editor has several icons that you can use to control the view:
| Use this icon: | To: |
|---|---|
| Set the Chart and Detail Pane to a horizontal layout, one beside the other | |
| Set the Chart and Detail Pane to a vertical layout, one above the other | |
| Display the Detail Pane if it's currently hidden | |
| Hide the Detail Pane so the Chart pane has more display room | |
| Hide the Chart pane so the Detail Pane has more display room | |
| Toggle the Overview pane on and off |
You can control the Overview pane through its context menu, which is displayed when you right-click on the Overview pane:
This menu includes:
You can control the Detail pane through its context menu:
As described above, the Allocations pane shows you allocation and deallocation events over time. Select a range of events to display a chart and details for those events.
The Errors pane shows any memory errors (in red) or leaks (in blue) detected while collecting statistics. Select a line in the top pane to see a function backtrace in the lower pane.

The allocator keeps counters for allocations of various sizes to help gather statistics about how your application is using memory. Blocks up to each power of two (2, 4, 8, 16, etc. up to 4096) and "large" blocks (anything over 4 KB) are tracked by these counters.
The Bins pane shows the values for these counters over time:
You can disable a counter's display by clicking its circle above the pane's title. Click the circle again to enable that counter's display.
When the Bins pane is displayed, the Chart pane shows allocations and deallocations for each bin at the time selected in the Detail pane. The Detail pane lists memory events for the selected region of the Bins pane.
The Bins pane includes these additional buttons:
Tracing can be slow, and it may also change the timing of the application, because of the logging that's done for each allocation and deallocation. You might want to do a first pass with the bins snapshots enabled to determine the "hot spots or ranges", and on the second pass reduce the tracing to a certain range (minimum, maximum) to filter and reduce the log set.
For efficiency, the QNX allocator preallocates "bands" of memory (small buffers) for satisfying requests for small allocations. This saves you a trip through the kernel's memory manager for small blocks, improving your performance.
The bands handle allocations of up to 16, 24, 32, 48, 64, 80, 96, and 128 bytes in size, and activity in these bands is shown on the Bands pane:
The Usage pane shows your application's overall memory usage over time.
This tab plays back the allocations, synchronized with the bins, bands, or usage, depending on what you last selected. You can use this display to look for memory leaks (e.g. bins where the number of allocations is much greater than the number of deallocations):
The Statistics pane gives you several different statistics views for the Memory Analysis session.
The Allocations pane shows the number of calls to different kinds of allocations, plus a count of each allocation for a given number of bytes:

The Backtraces pane shows you a list of memory event points in your application. Select one to display a function backtrace for that event:

The Outstanding traces pane shows allocations that weren't deallocated when the trace ended. These aren't necessarily errors.
The Errors pane shows you a list of the different types of memory error encountered while running your application.

This tab lets you change the settings for a running process.
For information about the settings, see "Analyzing your program" in the Finding Memory Errors chapter.
The additional icons (from left to right) let you: