Analyze Profiling Results
After you collect enough profiling data, you can proceed to determining the cause of memory issues (the analysis step). As mentioned in the First Look at the User Interface section, memory analysis assumes continuous choosing of subjects for the analysis (certain object sets or instances) and examining these subjects from different perspectives — views. This chapter contains detailed descriptions of dotMemory views and analysis workflows:
- Analysis Overview
- Inspections View
- Analyze Object Sets
- Analyze Instances
- Analyze Memory Allocation
- Compare Snapshots
- Analyze GC Roots
- Analyze Process Dumps
Opening a snapshot in different Analysis tabs
You can perform a number of analyses of the same data at a time. To copy current analysis to a new tab, click at the top right corner of the dotMemory window or use the Ctrl+T combination.
To start a new analysis, use the Ctrl+Alt+T combination.
Navigating Through Views History
Like a web browser stores the history of visited Internet pages, dotMemory stores your navigation history through dotMemory views. As well as in a web browser, you can navigate back and forward to previously opened views using navigation buttons. Note that these buttons navigate you NOT through the existing analysis subjects, but through dotMemory views in exactly the same order you accessed them.
To go to the previous / next view
Click correspondingly or button on the top left.
If your mouse or keyboard have special hardware navigation buttons, you can use them as well.
Navigating to Type Declaration
In some cases, further investigation of a suspicious object (for example, the object that may cause a leak) requires examining the source code. If you have dotMemory and Visual Studio + ReSharper (or dotMemory and JetBrains Rider) installed on your machine, you can instantly navigate to the object's type declaration in the IDE. This feature is available in any dotMemory view that displays object types.
The source code of the application you have a snapshot for is opened in Visual Studio or JetBrains Rider.
(Visual Studio only) ReSharper is installed in Visual Studio.
(Visual Studio only) dotMemory is installed with enabled integration into Visual Studio: the Visual Studio Integration option was selected during dotMemory installation.
To navigate to a type declaration
In dotMemory, in any view that displays object types, right-click a type* you need.
In the context menu, select.
If more than one IDE instance is found, dotMemory will open the Navigate to Type Declaration window that lists all found type declarations in running IDE instances. Click a specific declaration to navigate.
After you navigate to any type declaration at least once, the Ctrl+L shortcut.action will be available via the