COR_GC_REFERENCE — Struktura
Zawiera informacje o obiekcie, który ma być zbierany śmieci.
Składnia
typedef struct _COR_GC_REFERENCE {
ICorDebugAppDomain *domain;
ICorDebugValue *location;
CorGCReferenceType type;
UINT64 extraData;
} COR_GC_REFERENCE;
Elementy członkowskie
Członek | Opis |
---|---|
domain |
Wskaźnik do domeny aplikacji, do której należy uchwyt lub obiekt. Jego wartość może być null . |
location |
Albo ICorDebugValue, albo interfejs ICorDebugReferenceValue, który odpowiada obiektowi, który jest zbierany odśmiecania pamięci. |
type |
Wartość wyliczenia CorGCReferenceType wskazująca, skąd pochodzi katalog główny. Aby uzyskać więcej informacji, zobacz sekcję: Uwagi. |
extraData |
Dodatkowe dane dotyczące obiektu do odzyskiwania pamięci. Te informacje zależą od źródła obiektu, zgodnie z polem type . Aby uzyskać więcej informacji, zobacz sekcję: Uwagi. |
Uwagi
Pole type
jest wartością wyliczenia CorGCReferenceType , która wskazuje, skąd pochodzi odwołanie. Określona COR_GC_REFERENCE
wartość może odzwierciedlać dowolny z następujących rodzajów obiektów zarządzanych:
Obiekty ze wszystkich zarządzanych stosów (
CorGCReferenceType.CorReferenceStack
). Obejmuje to odwołania na żywo w kodzie zarządzanym, a także obiekty utworzone przez środowisko uruchomieniowe języka wspólnego.Obiekty z tabeli uchwytu (
CorGCReferenceType.CorHandle*
). Obejmuje to silne odwołania (HNDTYPE_STRONG
iHNDTYPE_REFCOUNT
) oraz zmienne statyczne w module.Obiekty z kolejki finalizatora (
CorGCReferenceType.CorReferenceFinalizer
). Finalizer kolejki obiektów głównych do momentu uruchomienia finalizatora.
Pole extraData
zawiera dodatkowe dane w zależności od źródła (lub typu) odwołania. Możliwe wartości:
DependentSource
. Jeśli jest totype
CorGCReferenceType.CorHandleStrongDependent
, to pole jest obiektem, który, jeśli żyje, powoduje, że obiekt jest zbierany na śmieci pod adresemCOR_GC_REFERENCE.Location
.RefCount
. Jeśli parametrtype
toCorGCReferenceType.CorHandleStrongRefCount
, to pole jest liczbą odwołań do uchwytu.Size
. Jeśli jestCorGCReferenceType.CorHandleStrongSizedByref
totype
, to pole jest ostatnim rozmiarem drzewa obiektów, dla którego moduł odśmiecowania pamięci obliczył korzenie obiektu. Należy pamiętać, że to obliczenie nie musi być aktualne.
Wymagania
Platformy: Zobacz Wymagania systemowe.
Nagłówka: CorDebug.idl, CorDebug.h
Biblioteki: CorGuids.lib
.NET Framework wersje: dostępne od wersji 4.5