Back Traces
In Back Traces, calls are shown starting from the one that directly created an object set descending to the first call in the stack. In other words, Back Traces is the inverted Call Tree.
The list of calls consists of the following columns:
Name | Description |
---|---|
Function | Function name. |
Bytes | The size of objects allocated by a call. |
Objects count | The number of objects allocated by a call. |
Namespace | The namespace a call belongs to. |
Because of the .NET nature, profiling can be started only after an app performs some initialization routines. That is why, there is a number of objects for which allocation information is not available. These are, for example, System.OutOfMemoryException
, System.StackOverflowException
, and others. All such objects are grouped under the Objects allocated before the profiling session item in the stack trace.
In some cases, dotMemory is not able to collect allocation data for some objects during profiling. All such objects are grouped under the Objects skipped during the profiling session item in the stack trace.
Selecting objects for further analysis
When viewing allocations in the Back Traces mode, the following objects are available for further analysis:
Objects allocated by a certain stack trace.
Objects exclusively retained (dominated) by the whole object set.
To select objects allocated by a certain stack trace
Do one of the following:
Double-click the last call in the sequence.
Right-click the call and choose Open objects allocated in this stack trace.
After this, the Created in instance of function [function_name] subject will be added to the Analysis Path and desired objects will be displayed in the Group by Types view.
To select the objects that are exclusively retained by the analyzed objects set
Click the Open objects retained by this set button.
After this, the Exclusively retained objects subject will be added to the Analysis Path and the list of desired objects will be displayed in the Group by Types view.