Udostępnij przez


struktura COR_GC_REFERENCE

Zawiera informacje o obiekcie, który ma zostać odśmiecany.

Składnia

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

Członkowie

Członek Description
domain Wskaźnik do domeny aplikacji, do której należy dojście lub obiekt. Jego wartość może mieć wartość null.
location Albo interfejs ICorDebugValue lub ICorDebugReferenceValue, który odpowiada obiektowi, który jest zbierany bezużytecznie.
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 wskazanego type przez pole. Aby uzyskać więcej informacji, zobacz sekcję Uwagi.

Uwagi

Pole type to wartość wyliczenia CorGCReferenceType wskazująca, skąd pochodzi odwołanie. COR_GC_REFERENCE Określona wartość może odzwierciedlać dowolny z następujących rodzajów zarządzanych obiektów:

  • 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 dojścia (CorGCReferenceType.CorHandle*). Obejmuje to silne odwołania (HNDTYPE_STRONG i ) i HNDTYPE_REFCOUNTzmienne statyczne w module.
  • Obiekty z kolejki finalizatora (CorGCReferenceType.CorReferenceFinalizer). Finalizator 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. Dopuszczalne wartości:

  • DependentSource. type Jeśli parametr ma CorGCReferenceType.CorHandleStrongDependentwartość , to pole jest obiektem, który, jeśli jest aktywny, element root obiektu do odzyskiwania pamięci w obiekcie .COR_GC_REFERENCE.Location
  • RefCount. type Jeśli parametr to CorGCReferenceType.CorHandleStrongRefCount, to pole jest liczbą odwołań do uchwytu.
  • Size. type Jeśli parametr to CorGCReferenceType.CorHandleStrongSizedByref, to pole jest ostatnim rozmiarem drzewa obiektów, dla którego moduł odśmiecenia pamięci obliczył korzenie obiektów. Należy pamiętać, że to obliczenie nie musi być aktualne.

Requirements

Platformy: Zobacz Obsługiwane systemy operacyjne platformy .NET.

Nagłówek: CorDebug.idl, CorDebug.h

Biblioteka: CorGuids.lib

Wersje platformy .NET: Dostępne od programu .NET Framework 4.5