Udostępnij za pośrednictwem


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 i HNDTYPE_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 to typeCorGCReferenceType.CorHandleStrongDependent, to pole jest obiektem, który, jeśli żyje, powoduje, że obiekt jest zbierany na śmieci pod adresem COR_GC_REFERENCE.Location.

  • RefCount. Jeśli parametr type to CorGCReferenceType.CorHandleStrongRefCount, to pole jest liczbą odwołań do uchwytu.

  • Size. Jeśli jest CorGCReferenceType.CorHandleStrongSizedByrefto type , 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

Zobacz też