Instances
The Instances panel contains a list of the instances related to the selected item is shown.
The details of an instance can be viewed by double-clicking an entry in the Instances table or using the Show details command.
The list can be sorted by clicking on the column headers. The following information is presented in the instance table:
Analysis issue
Indicates if the memory analyser has found an issue related to the instance. Further information about the issue is presented in the tooltip of the issue icon. For more information about analysis issues, see Automatic Memory Analysis.New instance
This column indicates whether the instance is new, i.e., the instance did not exist in the comparison snapshot. If the new instance symbol is shown, then this instance is new; otherwise, it existed in the comparison snapshot as well.Disposed instance
This column is only included for disposable types and indicates whether the instance has been disposed. If the disposed instance symbol is shown, then this instance has been disposed.Memory leak instance
This column is only included for managed types and indicates whether the instance has been identified as a potential memory leak instance using the .NET Memory Profiler API. If the memory leak symbol is shown, then this instance has been identified as a potential memory leak. For more information about memory leak detection, see .NET Memory Profiler API.Creation context
This column is only included for native resources and indicates the creation context of the instance using the following symbols:Managed runtime
Unmanaged interop
Other unmanaged
For more information about creation contexts, see Creation Context.
Instance
This column shows the instance number. This number is unique for an instance during the profiler session.Root kind
If the selected type is the <GCHandle> pseudo type, this column shows the kind of the GCHandle. For more information about runtime GC handles, see GC Handle Identification.Referenced by (count)
This column is only included for managed types and shows the number of referrers to this instance. A referrer is a field, variable, or parameter that references this instance.Wrapped by (count)
This column is only included for native resources and shows the number of managed instances that wrap this instance (i.e., contain a field that contains the resource instance identifier). For more information about wrapped instances, see Wrapped by.Instance bytes
This column shows the number of bytes used by the instance.Held instances This column shows the number of instances that are held by the instance. This column is not included by default, but can be included by customizing the columns.
Held bytes
This column shows the number of bytes that are used by instances that are held by the instance.Reachable instances
This column shows the number of instances that are reachable from the instance. This column is not included by default, but can be included by customizing the columns.Reachable bytes
This column shows the number of bytes that are used by instances that are reachable from the instance. This column is not included by default, but can be included by customizing the columns.Age This column is only included for managed types and shows the age of the instance. The age is increased by one each time the instance survives a garbage collect.
Identifier
This column is only included for native resources and shows the native resource identifier value of the instance (e.g., aHANDLE
value).Value
This column shows the value of the instance. The value of the instance is only available if the instance is a string, primitive type, or a value type.Array usage
This column shows the array usage in percent. It is only available if the instance is an array instance.Total array slots, Unused array slots, Used array slots
These columns provide additional information about an array instance. They are only available for array instances, and are not included by default. They can be included by customizing the columns.
If the selected details item is a filter, then the instances are, by default, grouped by type. The grouped types contain additional summary information. The following columns are used by the grouped types:
Type
This column shows the name of the grouped type.Live instances
This column shows the total number of live instances of the grouped type.Live bytes
This column shows the total number of bytes used by the live instances of the grouped type.Max held instances
This column shows the maximum number of held instances by any instance of the grouped type. This column is not included by default, but can be included by customizing the columns.Max held bytes
This column shows the maximum number of held bytes by any instance of the grouped type.Max reachable instances
This column shows the maximum number of reachable instances by any instance of the grouped type. This column is not included by default, but can be included by customizing the columns.Max reachable bytes
This column shows the maximum number of reachable bytes by any instance of the grouped type.Array usage
This column shows the accumulated array usage of all instances of the grouped type, in percent. It is only available if the grouped type is an array type.Total array slots, Unused array slots, Used array slots
These columns provide additional information about array instances. The values are accumulated for all instances of the grouped type. They are only available for array instances, and are not included by default. They can be included by customizing the columns.Finalized instances
This column shows the total number of finalized instances of the grouped type.
For more information about held and reachable instances, see Held and Reachable Instances.
Note
The held and reachable values need to be calculated for each instance in the list. This calculation may take a while, and the columns will be empty while the calculation is in progress.
Group by type
The group by type check box is available under the filter instances list. If selected the filter instances will be grouped by type.