Teilen über


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 und HNDTYPE_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. Wenn type den Wert CorGCReferenceType.CorHandleStrongDependent aufweist, ist dieses Feld das Objekt, das (sofern aktiv) der Ursprung des Objekts ist, für das bei COR_GC_REFERENCE.Location eine Garbage Collection durchgeführt werden soll.

  • RefCount. Wenn type den Wert CorGCReferenceType.CorHandleStrongRefCount aufweist, ist dieses Feld die Referenzanzahl des Handles.

  • Size. Wenn type den Wert CorGCReferenceType.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

Siehe auch