dotMemory 2025.1 Help

Analyze Profiling Results

After you collect enough profiling data, you can proceed to determine 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:

Open a snapshot in different Analysis tabs

You can perform a number of analyses of the same data at a time.

To start a new analysis, use the Ctrl+Alt+T combination.

To copy the current analysis to a new tab, click Add in the top right corner of the dotMemory window or use the Ctrl+T combination.

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 ThemedIcon.Backward.Screen.(Gray).png or ThemedIcon.Forward.Screen.(Gray).png button on the top left.

    If your mouse or keyboard has special hardware navigation buttons, you can use them as well.

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.

Requirements:

  • 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

  1. In dotMemory, in any view that displays object types, right-click a type* you need.

  2. In the context menu, select Navigate to Declaration.

  3. 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 Navigate to Declaration (<solution_name>) action will be available via the Ctrl+L shortcut.

dotMemory integrated in Visual Studio

If, when installing dotMemory you choose the Visual Studio Integration option, your Visual Studio will get the built-in dotMemory profiler. It is represented with the Memory Profiler tool window (ReSharper | Profile | Show dotMemory Profiler). It is a counterpart of the standalone dotMemory tailored for use within Visual Studio. The user interface of both tools is almost identical. The list of collected snapshots is synced between all dotMemory instances on your machine.

dotMemory in VS
Last modified: 12 March 2025
OSZAR »