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
aHNDTYPE_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 jetype
CorGCReferenceType.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 naCOR_GC_REFERENCE.Location
adrese .RefCount
. Pokud jetype
CorGCReferenceType.CorHandleStrongRefCount
, toto pole představuje počet odkazů na popisovač.Size
. Pokud jetype
CorGCReferenceType.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