dotMemory 2016.2 Help

Shortest Paths to Roots

The Shortest Paths to Roots view shows shortest paths to an instance from application's roots: one shortest path for each root.

Use the view to inspect instance's retention paths and identify what prevents the instance from being collected. This view can be very useful when investigating Not exclusively retained objects (see Group by Dominators for details).

For convenience, dotMemory presents paths in two ways: as a plain List and as a Tree. To select a certain way, click on the corresponding item in the list of views.

List

For each path to roots, dotMemory shows the plain list of objects that reference the instance starting with an app's root. This can be useful when you want to examine the entire retention path.

To switch between paths, use the arrow buttons <<, <, >, >> on the top of the list.

The list of paths consists of the following columns:

NameDescription
Field name The name of the field through which an instance is retained.
Type Type name.

Tree

All paths to roots are shown in one expanding list. The list starts with the instance and descends to app's roots. This may be useful when you don't want to drill down the full retention hierarchy but just want to identify the closest object that holds the instance in memory.

The list of paths consists of the following columns:

NameDescription
Type Type name.
Reachable roots count The number of roots that can be reached from a certain instance.
Bytes The size of a certain instance in bytes.

Example

/help/img/dotnet/2016.2/shortest_paths_to_roots_3.png

What Can I Analyze Next?

In the Shortest Paths to Roots view, you can select the following subjects for further analysis:

  • An instance
    To select a particular instance for analysis, double click on it in the list. Another way to do it is the context menu: right-click on the interested instance and choose Open this instance.
    After this, the [Type_name] subject will be added to the Analysis Path and you can use specific instance views to analyze the instance in more details.

  • Retained object set
    To see what objects are exclusively retained by a certain instance, right-click on the instance in the list and choose Open objects retained by this instance.
    After this, the Retained objects subject will be added to the Analysis Path and the list of retained objects will be displayed in the Type List view.

See Also

Last modified: 14 December 2016