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:
|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. For example, this happens when you specify the value larger than 1 for the Collect every N-th object parameter in Profiler Options. All such objects are grouped under the Objects skipped during the profiling session item in the stack trace.
What Can I Analyze Next?
When viewing allocations in the Back Traces mode, you can select the following subjects for further analysis:
Objects allocated by a certain stack trace
To select objects allocated within a certain call sequence for analysis, double click on the last call in the sequence. Another way to do it is right-click on the call and choose Open objects allocated in this stack trace. After this, the Created by [function_name] subject will be added to the Analysis Path and certain objects will be displayed in the Type List view.