Sdílet prostřednictvím


COR_GC_REFERENCE – struktura

Obsahuje informace o objektu, který má být uvolňování paměti.

Syntaxe

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

Members

Člen Description
domain Ukazatel na doménu aplikace, do které patří popisovač nebo objekt. Její hodnota může být null.
location Buď ICorDebugValue nebo ICorDebugReferenceValue rozhraní, které odpovídá objektu, který má být uvolňování paměti.
type CorGCReferenceType – hodnota výčtu, která označuje, odkud kořen pochází. Další informace najdete v části Poznámky.
extraData Další data o objektu, který se má shromáždit 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 typů 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 objekty fronty, dokud se finalizátor nespustí.

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

  • DependentSource. Pokud je CorGCReferenceType.CorHandleStrongDependent, type toto pole je objekt, který, pokud je naživu, kořeny objektu, který má být uvolněn COR_GC_REFERENCE.Locationz paměti .
  • RefCount. Pokud anoCorGCReferenceType.CorHandleStrongRefCount, jedná se type o referenční počet popisovačů.
  • Size. type Pokud anoCorGCReferenceType.CorHandleStrongSizedByref, toto pole je poslední velikost stromu objektů, pro který systém uvolňování paměti vypočítal kořeny objektu. Mějte na paměti, že tento výpočet nemusí být aktuální.

Požadavky

Platformy: Viz podporované operační systémy .NET.

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

Knihovna: CorGuids.lib

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