Sdílet prostřednictvím


COR_GC_REFERENCE – struktura

Obsahuje informace o objektu, který má být uvolněn z paměti.

Syntax

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

Členové

Člen Description
domain Ukazatel na doménu aplikace, do které popisovač nebo objekt patří. Jeho hodnota může být null.
location Buď ICorDebugValue nebo ICorDebugReferenceValue rozhraní, které odpovídá objektu, který má být uvolněn.
type Hodnota výčtu CorGCReferenceType , která označuje, odkud kořen pochází. Další informace najdete v části Poznámky.
extraData Další data o objektu, který má být uvolněn z paměti. Tyto informace závisí na zdroji objektu, jak je uvedeno v type poli. Další informace najdete v části Poznámky.

Poznámky

Pole type je hodnota výčtu CorGCReferenceType , která označuje, odkud odkaz pochází. Konkrétní COR_GC_REFERENCE hodnota může odrážet některý z následujících druhů spravovaných objektů:

  • Objekty ze všech spravovaných zásobníků (CorGCReferenceType.CorReferenceStack). To zahrnuje živé odkazy ve spravovaném kódu a také objekty vytvořené modulem ClR (Common Language Runtime).

  • Objekty z tabulky popisovačů (CorGCReferenceType.CorHandle*). To zahrnuje silné odkazy (HNDTYPE_STRONG a HNDTYPE_REFCOUNT) a statické proměnné v modulu.

  • Objekty z fronty finalizátoru (CorGCReferenceType.CorReferenceFinalizer). Finalizační objekty fronty kořeny, dokud se finalizátor nespustí.

Pole extraData obsahuje další data v závislosti na zdroji (nebo typu) odkazu. Možné hodnoty:

  • DependentSource. Pokud je typeCorGCReferenceType.CorHandleStrongDependent, toto pole je objekt, který v případě, že je naživu, od kořene objektu, který má být uvolněn z paměti na COR_GC_REFERENCE.Locationadrese .

  • RefCount. Pokud je typeCorGCReferenceType.CorHandleStrongRefCount, toto pole představuje počet odkazů na popisovač.

  • Size. Pokud je typeCorGCReferenceType.CorHandleStrongSizedByref, toto pole je poslední velikost stromu objektů, pro kterou systém uvolňování paměti vypočítal kořeny objektů. Upozorňujeme, že tento výpočet nemusí být nutně aktuální.

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: CorDebug.idl, CorDebug.h

Knihovny: CorGuids.lib

Verze rozhraní .NET Framework: K dispozici od verze 4.5

Viz také