dotMemory 2021.1 Help

Group by Instances

The Group by Instances view shows what instances make up the object set. Use this view as a means to select a specific instance for more detailed analysis.

The list of instances consists of the following columns:

NameDescription
TypeType name.
AddressVirtual memory address of the instance.
BytesThe size of the instance in bytes.
Retained bytesThe overall size in bytes of all objects exclusively retained by the instance.

Example

Instances view example

Filtering Objects

You can filter out objects that are of no interest for your analysis.

To narrow the list

  • Start typing the desired type name in the Filter field.

    dotMemory will exclude all instances that don't match the pattern.

You can make your search more efficient by using the following tips:

  • Use CamelHumps. E.g. fo will return objects of both System.Drawing.Font and MS.Utility.FrugalObjectList types.

  • Use special symbols, like wildcards and others. The full list is shown in the table below.

SymbolDescriptionExample
*Wildcard*
All objects in the set
sys.*.data
All types and namespaces that match the pattern. E.g. System.Data, System.Windows.Controls.Datagrid, and System.Windows.Data.Binding.
sys.*.data.
Only namespaces that match the pattern. E.g. System.Windows.Data.Binding but not System.Windows.Controls.Datagrid.
Arrays
[]Leave only arraysstr[]
Arrays, containing str in their type or namespace. E.g. String[].
[,
[,,
...
or
[,]
[,,]
...
Leave only arrays of the specified or higher (if brackets are not closed) dimensionstr[,,
Arrays with the dimension 3 and higher containing str in their type or namespace. E.g. String[,,] and String[,,,].
str[,,]
Three-dimensional arrays containing str in their type or namespace. E.g. String[,,].
!aExclude arrays from the result!a str
Objects (excluding arrays) containing str in their type or namespace. E.g. String but not String[].
Ranked arrays
[N..
[N..]
[N..M]
[N..M, X..Y]
... where N, M, X, Y are integers
Leave only arrays with the specified number of elementsbyte[10..100]
Arrays with Byte in their type or namespace with 10 - 100 number of elements. E.g. Byte[98].
byte[10..100, 25..
Two- (or more) dimensional arrays with Byte in their type or namespace with 10 - 100 number of elements in the first dimension and more than 25 elements in the second. E.g. Byte[98, 30, 1000] but not Byte[98].
If range is not specified, the filter is treated as a text filter. For example, byte[1 will match Byte[195] and Byte[1, 50].
byte[1*5] will match Byte[13853].
Generic type arguments
<Leave only types with generic type argumentsstr<
Only objects containing str in their type or namespace and having generic type arguments. E.g. FileStreamStorage<Char> but not List<String>.
<str
Only objects containing str in their generic type arguments. E.g. List<String> but not FileStreamStorage<Char>.
<,
<,,
...
or
<,>
<,,>
...
Leave only objects with the specified number of generic type argumentsfun<,,>
Objects containing fun in their type or namespace and having three generic type arguments. E.g. Func<String, Object, Object>.
fun<str,,task
Objects containing fun in their type or namespace and having three or generic type arguments that match the pattern. E.g. Func<Stream, IAsyncResult, TaskResult, EventArgs>.
!gExclude generic type arguments from the search scope!g str
Objects (that do not have generic type arguments) containing str in their type or namespace. E.g. String but not List<String>.

Selecting objects for further analysis

In the Group by Instances view, you can select the following subjects for further analysis:

To select a particular instance

  • Do one of the following:

    • Double-click the instance in the list.

    • Right-click the instance and choose Open this instance.

    After this, the Instance from set subject is added to the Analysis Path and you can use specific instance views to analyze the instance in more details.

To select the objects that are exclusively retained by the analyzed objects set

  • Click the Open retained objects Open objects retained by this set button.

    After this, the Exclusively retained objects subject will be added to the Analysis Path and the list of desired objects will be displayed in the Group by Types view.

Last modified: 08 March 2021