Please enable JavaScript to view this site.

Memory Validator Help

Snapshots are a useful way of identifying memory (or handles) that are loitering in memory for longer than you expected.

 

These may be leaked, or they may be getting garbage collected later than you expected.

 

The Snapshots view allows you to create, compare, display and delete snapshots.

 

interactiveClick a part of the image below to jump straight to the help for that area.

 

snapshots-view-with-menu

 

The view is split into two halves. The left hand pane manages the creation, comparison, and deletion of snapshots. The right hand pane displays a snapshot or snapshot comparison.

 

Managing Snapshots

 

The controls for managing snapshots are listed at the top of the pane.

 

 snapshot-management

 

Snapshot instructionStep Create a snapshot. If the snapshot is not automatically named, you will be prompted to name the snapshot

 

Compare... instructionStep Create a snapshot comparison. If the snapshot comparison is not automatically named, you will be prompted to name the snapshot comparison

 

Delete instructionStep Delete the selected snapshot

 

Delete All instructionStep Delete all snapshots

 

Display... instructionStep Edit settings related to the naming of snapshots and snapshot comparisons.

 

 

The grid below the controls lists each snapshot or comparison, the garbage collection they are related to and how many objects are represented by the snapshot.

 

 snapshots-grid

 

Selecting a snapshot or snapshot comparison in the grid on the left hand pane will display the snapshot or snapshot comparison on the right hand side.

 

 

Displaying Snapshots

 

The controls for displaying snapshots are at the top of the right hand pane.

 

 snapshots-callstack-controls

 

Snapshot dropdown instructionStep Choose which group of objects to display

 

For snapshots there is only one option: Snapshot objects.

 

For snapshot comparisons there are two options: Snapshot new objects and Snapshot survivors.

 

oSnapshot objects instructionStep Shows the objects in the snapshot

 

oSnapshot new objects instructionStep Shows the objects in the snapshot comparison that are in the second snapshot but not in the first snapshot.

 

oSnapshot survivors instructionStep Shows the objects in the snapshot comparison that are present in the first snapshot and the second snapshot.

 

Expand All instructionStep Expand all callstacks

 

Collapse All instructionStep Collapse all callstacks

 

Display... instructionStep Edit settings related to the displaying snapshots and snapshot comparisons.

 

 

The top row of the grid will show the snapshot name (or snapshot comparison name). The row below will indicate what type of objects are present (Objects, New objects, Survivors) and how many.

 

The remainder of the grid will display callstacks for each object (or group of objects with a common callstack) that are in the group of objects being displayed.

 

 

 snapshots-callstack

 

 

Snapshots view popup menuright_mouse_button

 

The following popup menu provides options for filtering and examining data in more detail.

 

snapshots-popup-menu

 

 

right_mouse_buttonMenu option: Go to Heap Dump, Paths to Root, Paths from Root

 

The following options are only active for .Net object types. They are disabled for native object types.

 

Go to Heap Dump instructionStep Find the heap dump entries for the selected objects.

 

Paths to Root instructionStep For the selected objects display all the paths from the object to the most recent heap dump roots with the Paths to Root dialog.

 

Paths from Root instructionStep For the selected objects display all the paths most recent heap dump roots to the live objects with the Paths to Root dialog.

 

 

right_mouse_buttonMenu option: editing source code

 

Edit Source Code... instructionStep opens the default or preferred editor to edit the source code

 

 

right_mouse_buttonMenu options: Collapse Hotspot, Expand Hotspot, Collapse All, Expand All

 

Collapse Hotspot or Expand Hotspot instructionStep simply shows and hides data item information, the same as using the expand-symbol or collapse-symbolbuttons

 

Collapse All or Expand All instructionStep collapses or expands all callstack entries