Dela via


COR_GC_REFERENCE struktur

Innehåller information om ett objekt som ska samlas in av skräp.

Syntax

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

Members

Medlem Description
domain En pekare till programdomänen som handtaget eller objektet tillhör. Dess värde kan vara null.
location Antingen ett ICorDebugValue- eller ICorDebugReferenceValue-gränssnitt som motsvarar det objekt som ska skräpinsamlas.
type Ett CorGCReferenceType-uppräkningsvärde som anger var roten kom ifrån. Mer information finns i avsnittet Anmärkningar.
extraData Ytterligare data om objektet som ska samlas in av skräp. Den här informationen beror på objektets källa, vilket anges i fältet type . Mer information finns i avsnittet Anmärkningar.

Anmärkningar

Fältet type är ett CorGCReferenceType-uppräkningsvärde 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 rotar objekt tills finalizern har körts.

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

  • 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 samlas in på COR_GC_REFERENCE.Location.
  • RefCount. type Om är CorGCReferenceType.CorHandleStrongRefCountär är det här fältet referensantalet för handtaget.
  • 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.

Kravspecifikation

Plattformar: Se Operativsystem som stöds av .NET.

Rubrik: CorDebug.idl, CorDebug.h

Bibliotek: CorGuids.lib

.NET-versioner: Tillgänglig sedan .NET Framework 4.5