Dela via


COR_GC_REFERENCE struktur

Innehåller information om ett objekt som ska skräpinsamling.

Syntax

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

Medlemmar

Medlem Description
domain En pekare till programdomänen som referensen eller objektet tillhör. Värdet kan vara null.
location Antingen ett ICorDebugValue- eller ICorDebugReferenceValue-gränssnitt som motsvarar objektet som ska skräpinsamling.
type Ett CorGCReferenceType-uppräkningsvärde som anger var roten kom ifrån. Mer information finns i avsnittet Kommentarer.
extraData Ytterligare data om objektet som ska skräpinsamling. Den här informationen beror på källan till objektet, vilket anges av fältet type . Mer information finns i avsnittet Kommentarer.

Kommentarer

Fältet type är ett Uppräkningsvärde för CorGCReferenceType som anger var referensen kom ifrån. Ett visst COR_GC_REFERENCE värde kan återspegla någon av följande typer av hanterade objekt:

  • Objekt från alla hanterade staplar (CorGCReferenceType.CorReferenceStack). Detta inkluderar livereferenser i hanterad kod samt objekt som skapats av common language runtime.

  • Objekt från referenstabellen (CorGCReferenceType.CorHandle*). Detta inkluderar starka referenser (HNDTYPE_STRONG och HNDTYPE_REFCOUNT) och statiska variabler i en modul.

  • Objekt från finalizer-kön (CorGCReferenceType.CorReferenceFinalizer). Finalizer-kön rotobjekt tills slutföraren har körts.

Fältet extraData innehåller extra data beroende på referensens källa (eller typ). Möjliga värden:

  • DependentSource. type Om är CorGCReferenceType.CorHandleStrongDependentär är det här fältet det objekt som, om det är vid liv, rotar objektet som ska skräpsamlas vid COR_GC_REFERENCE.Location.

  • RefCount. type Om är CorGCReferenceType.CorHandleStrongRefCountär är det här fältet referensantalet för referensen.

  • Size. type Om är CorGCReferenceType.CorHandleStrongSizedByrefär är det här fältet den sista storleken på objektträdet som skräpinsamlaren beräknade objektrötterna för. Observera att den här beräkningen inte nödvändigtvis är uppdaterad.

Krav

Plattformar: Se Systemkrav.

Huvudet: CorDebug.idl, CorDebug.h

Bibliotek: CorGuids.lib

.NET Framework versioner: Tillgänglig sedan 4.5

Se även