Freigeben über


COR_GC_REFERENCE Struktur

Enthält Informationen zu einem Objekt, das garbage-collection sein soll.

Syntax

typedef struct _COR_GC_REFERENCE {
    ICorDebugAppDomain *domain;
    ICorDebugValue *location;
    CorGCReferenceType type;
    UINT64 extraData;
} COR_GC_REFERENCE;

Elemente

Mitglied Description
domain Ein Zeiger auf die Anwendungsdomäne, zu der das Handle oder Objekt gehört. Der Wert kann sein null.
location Entweder eine ICorDebugValue- oder eine ICorDebugReferenceValue-Schnittstelle, die dem Objekt entspricht, das garbage-collection sein soll.
type Ein CorGCReferenceType-Enumerationswert , der angibt, woher der Stamm stammt. Weitere Informationen finden Sie im Abschnitt "Hinweise".
extraData Zusätzliche Daten zum Objekt, das garbage-collection werden soll. Diese Informationen hängen von der Quelle des Objekts ab, wie durch das type Feld angegeben. Weitere Informationen finden Sie im Abschnitt "Hinweise".

Bemerkungen

Das type Feld ist ein CorGCReferenceType-Enumerationswert , der angibt, wo der Verweis stammt. Ein bestimmter COR_GC_REFERENCE Wert kann eine der folgenden Arten von verwalteten Objekten widerspiegeln:

  • Objekte aus allen verwalteten Stapeln (CorGCReferenceType.CorReferenceStack). Dazu gehören Liveverweise in verwaltetem Code sowie Objekte, die von der Common Language Runtime erstellt wurden.
  • Objekte aus der Handle-Tabelle (CorGCReferenceType.CorHandle*). Dies umfasst starke Verweise (HNDTYPE_STRONG und HNDTYPE_REFCOUNT) und statische Variablen in einem Modul.
  • Objekte aus der Finalizer-Warteschlange (CorGCReferenceType.CorReferenceFinalizer). Die Finalizer-Warteschlangenstammobjekte bis zum Ausführen des Finalizers.

Das extraData Feld enthält zusätzliche Daten, je nach Quelle (oder Typ) des Bezugs. Mögliche Werte:

  • DependentSource. Wenn dies der type Fall ist CorGCReferenceType.CorHandleStrongDependent, ist dieses Feld das Objekt, das, wenn aktiv, das Objekt, das garbage-collection at COR_GC_REFERENCE.Location.
  • RefCount. Ist dies der typeCorGCReferenceType.CorHandleStrongRefCountFall, ist dieses Feld die Referenzanzahl des Handles.
  • Size. Ist dies der typeCorGCReferenceType.CorHandleStrongSizedByrefFall, ist dieses Feld die letzte Größe der Objektstruktur, für die der Garbage Collector die Objektwurzeln berechnet hat. Beachten Sie, dass diese Berechnung nicht unbedingt auf dem neuesten Stand ist.

Anforderungen

Plattformen: Siehe .NET unterstützte Betriebssysteme.

Kopfball: CorDebug.idl, CorDebug.h

Bibliothek: CorGuids.lib

.NET-Versionen: Verfügbar seit .NET Framework 4.5