Instances
The 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:
Name | Description |
---|---|
Type | Type name. |
Address | Virtual memory address of the instance. |
Bytes | The size of the instance in bytes. |
Retained bytes | The overall size in bytes of objects exclusively retained by the instance. |
Example
Filter objects
You can filter out objects that are of no interest to your analysis by type or string value .
To narrow the list
Start typing the desired string pattern. dotMemory will highlight matching strings.
You can make your search more efficient by using the following tips:
Use CamelHumps. E.g.
fo
will return objects of bothSystem.Drawing.Font
andMS.Utility.FrugalObjectList
types.For instances of the
String
type, you can search by the string value. Type any string value into the filter field, and dotMemory will highlight matching strings.For string values, you can use regular expressions. For example,
^Client.*
will match all strings that start withClient
likeClientRequest
orClientController
.You can also search for object instances by their memory address. This is useful for tracking specific objects directly.
Use special symbols, like wildcards and others. The full list is shown in the table below.
- Special symbols and filter examples
Symbol
Description
Example
*
Wildcard
*
All objects in the set
sys.*.data
All types and namespaces that match the pattern. E.g.
System.Data
,System.Windows.Controls.Datagrid
, andSystem.Windows.Data.Binding
.sys.*.data.
Only namespaces that match the pattern. E.g.
System.Windows.Data.Binding
but notSystem.Windows.Controls.Datagrid
.Arrays
[]
Leave only arrays
str[]
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) dimension
str[,,
Arrays with the dimension 3 and higher containing
str
in their type or namespace. E.g.String[,,]
andString[,,,]
.str[,,]
Three-dimensional arrays containing
str
in their type or namespace. E.g.String[,,]
.!a
Exclude arrays from the result
!a str
Objects (excluding arrays) containing
str
in their type or namespace. E.g.String
but notString[]
.Ranked arrays
[N..
[N..]
[N..M]
[N..M, X..Y]
...
whereN
,M
,X
,Y
are integersLeave only arrays with the specified number of elements
byte[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 notByte[98]
.If range is not specified, the filter is treated as a text filter. For example,
byte[1
will matchByte[195]
andByte[1, 50]
.byte[1*5]
will matchByte[13853]
.Generic type arguments
<
Leave only types with generic type arguments
str<
Only objects containing
str
in their type or namespace and having generic type arguments. E.g.FileStreamStorage<Char>
but notList<String>
.<str
Only objects containing
str
in their generic type arguments. E.g.List<String>
but notFileStreamStorage<Char>
.<,
<,,
...
or
<,>
<,,>
...
Leave only objects with the specified number of generic type arguments
fun<,,>
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>
.!g
Exclude 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 notList<String>
.#c
#struct
#m
#ns
Search by type, value type, method, or namespace.
#ns Feature
Objects containing
Feature
in their namespace.
Select objects for further analysis
In the 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 select Open this instance.
After this, the Instance from set subject will be 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 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.