dotMemory 2024.3 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 copy current analysis to a new tab, click Add in 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.

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.

Last modified: 24 July 2024