Use this view to show the memory events (allocation and deallocation) that are found in your program by memory analysis tooling.
To populate the view, click on a session or session element (such as a thread, file, and so on) from the Session View (see
Managing Memory Analysis sessions: The Session view), or activate the memory analysis editor (see Memory Analysis editor), and then select a region in the allocations chart (when the view is synchronized).
The Memory Events view provides the following columns in the events table (not all columns are present by default, you can
select columns using the view's preferences):
Column |
Description |
Kind
|
A kind of allocation (malloc(), calloc(), new(), free(), etc.) with a matched icon (the icon has checkmark if the allocation has a corresponding free().)
|
Requested Size
|
The size of memory in bytes requested. |
Actual Size
|
The size of the memory block allocator used. |
Pointer
|
A pointer value. |
Tid
|
The thread ID of thread that did the allocation. |
Pid
|
The process ID. |
CPU
|
The CPU on which the allocation or deallocation occurred. |
Binary
|
The binary or library name of the requester (the top frame of a backtrace). |
Location
|
The file:line of the requester (the top frame of a backtrace).
|
Timestamp
|
The timestamp of an allocation (the timestamp can wrap around). |
Event id
|
The unique ID in the order of appearance. |
Average size
|
When grouped, it refers to the average size of the requested allocations. |
Max size
|
When grouped, it's the maximum size of the requested allocations. |
Count
|
When grouped, it's the count of the grouped allocations. |
Non-aggregated columns show data for the first event in the group when the events are grouped. You can use your mouse to resize,
hide and rearrange columns using standard drag-and-drop commands on table header. To hide the column, resize it to none. To make a column more visible, use the Prefereces… dialog.
The Memory Analysis view provides the following features:
- Double-click a particular event in the list, and the IDE highlights the corresponding source code line (if it exists).
- Click a particular event in the list, the problem is selected, and then the IDE updates the problem backtrace in Memory Backtrace view.
- Click a column header, and the IDE sorts the data by the column value.
- Drag-and-drop columns by their header to rearrange the column order.
- Press Ctrl-C (or your specific platform copy command), and then the IDE copies the text representation of the event to the clipboard.
- Double-click on the view header to maximize the view (or return to normal when currently maximized).
- Right-click in the table to open the context menu (see below for descriptions).
View action bar
- Remove Events - remove (by filtering) the current events from the view. Enabled when running.
- Start/Stop memory tracing - Start or stop tracing.
- Open Filter Dialog - open the Filter dialog (see below for descriptions). This item is disabled when the view is synchronized with the editor
selection; the IDE uses the editor filter for this situation.
- Synchronize with Editor Selection - when enabled, the view shows the selection details from the editor allocations page, and uses the editor filters.
- Prevent Auto-Refresh - don't automatically perform a refresh. Enabled when running.
- Refresh - update the data in the view.
- View Menu - open the view menu (see description below).
- Minimize - minimize the view.
- Maximize - maximize the view (or return to normal when currently maximized).
Memory Events view context menu
-
Filter... - opens the traces filter.
-
Find matching event
-
Quick Filter
-
Up to Event - show only events up to this current event (by time occurrence).
-
From Event - show only events from this event (by time occurrence).
-
Matching with Event - show only this event and the matching event (the allocation and deallocation pair).
-
Same pointer - show only events that have the same pointer.
-
Same size - show only events that have same size of allocation.
-
Same band - show only events that are allocated in the same band.
-
Same backtrace - show only events with the same allocation backtrace.
-
Show All - reset the filter (show all events).
-
Group By
-
None - no grouping is performed in the view.
-
Kind - group by allocation kind (e.g. malloc(), calloc(), etc.)
-
Size - group by the requested size.
-
Band Size - group by band size (events from the non-band allocator aren't grouped).
-
Pointer - group by the same pointer.
-
Backtrace - group events with the same backtrace under one group. For the group row ,non-aggregated columns show the value of the first
entry.
-
Thread - group by thread ID.
-
Show Backtrace - activate the Memory Backtrace view and show the current backtrace in the view.
-
Show Source - show the context menu and double-click to select an event source location.
-
Preferences... - open the view Preferences dialog to set the column selection and order.