COR_GC_REFERENCE-Struktur
Enthält Informationen zu einem Objekt, das speicherbereinigt werden soll.
Syntax
typedef struct _COR_GC_REFERENCE {
ICorDebugAppDomain *domain;
ICorDebugValue *location;
CorGCReferenceType type;
UINT64 extraData;
} COR_GC_REFERENCE;
Member
Member | Beschreibung |
---|---|
domain |
Ein Zeiger auf die Anwendungsdomäne, zu der das Handle oder Objekt gehört. Dieser Wert kann null sein. |
location |
Entweder eine ICorDebugValue- oder eine ICorDebugReferenceValue-Schnittstelle, die dem Objekt entspricht, für das eine Garbage Collection durchgeführt werden soll. |
type |
Ein CorGCReferenceType-Enumerationswert, der die Abstammung des Ursprungs angibt. Weitere Informationen finden Sie im Abschnitt mit Hinweisen. |
extraData |
Zusätzliche Daten über das Objekt, für das eine Garbage Collection durchgeführt werden soll. Diese Informationen hängen von der Quelle des Objekts ab, die durch das type -Feld angegeben wird. Weitere Informationen finden Sie im Abschnitt mit Hinweisen. |
Bemerkungen
Das type
-Feld ist ein CorGCReferenceType-Enumerationswert, der die Abstammung des Verweises angibt. Ein bestimmter COR_GC_REFERENCE
-Wert kann die folgenden Arten von verwalteten Objekten widerspiegeln:
Objekte aus allen verwalteten Stapeln (
CorGCReferenceType.CorReferenceStack
). Dies umfasst Liveverweise in verwaltetem Code sowie Objekte, die von der Common Language Runtime erstellt wurden.Objekte aus der Handletabelle (
CorGCReferenceType.CorHandle*
). Dies umfasst starke Verweise (HNDTYPE_STRONG
undHNDTYPE_REFCOUNT
) sowie statische Variablen in einem Modul.Objekte aus der Finalizer-Warteschlange (
CorGCReferenceType.CorReferenceFinalizer
). Die Finalizer-Warteschlange ist der Ursprung für Objekte, bis der Finalizer ausgeführt wurde.
Das extraData
-Feld enthält zusätzliche Daten, die von der Quelle (oder dem Typ) des Verweises abhängen. Mögliche Werte:
DependentSource
. Wenntype
den WertCorGCReferenceType.CorHandleStrongDependent
aufweist, ist dieses Feld das Objekt, das (sofern aktiv) der Ursprung des Objekts ist, für das beiCOR_GC_REFERENCE.Location
eine Garbage Collection durchgeführt werden soll.RefCount
. Wenntype
den WertCorGCReferenceType.CorHandleStrongRefCount
aufweist, ist dieses Feld die Referenzanzahl des Handles.Size
. Wenntype
den WertCorGCReferenceType.CorHandleStrongSizedByref
aufweist, ist dieses Feld die letzte Größe der Objektstruktur, für die der Garbage Collector die Objektursprünge berechnet hat. Beachten Sie, dass diese Berechnung nicht unbedingt auf dem neuesten Stand ist.
Anforderungen
Plattformen: Informationen finden Sie unter Systemanforderungen.
Header: CorDebug.idl, CorDebug.h
Bibliothek: CorGuids.lib
.NET Framework-Versionen: Seit Version 4.5 verfügbar