Condividi tramite


Struttura COR_GC_REFERENCE

Contiene informazioni su un oggetto che deve essere sottoposto a Garbage Collection.

Sintassi

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

Members

Membro Description
domain Puntatore al dominio applicazione a cui appartiene l'handle o l'oggetto. Il valore può essere null.
location Interfaccia ICorDebugValue o ICorDebugReferenceValue che corrisponde all'oggetto da garbage collection.
type Valore di enumerazione CorGCReferenceType che indica da dove proviene la radice. Per altre informazioni, vedere la sezione Osservazioni.
extraData Dati aggiuntivi sull'oggetto da eseguire per il Garbage Collection. Queste informazioni dipendono dall'origine dell'oggetto, come indicato dal type campo . Per altre informazioni, vedere la sezione Osservazioni.

Osservazioni:

Il type campo è un valore di enumerazione CorGCReferenceType che indica da dove proviene il riferimento. Un particolare COR_GC_REFERENCE valore può riflettere uno dei tipi di oggetti gestiti seguenti:

  • Oggetti di tutti gli stack gestiti (CorGCReferenceType.CorReferenceStack). Sono inclusi i riferimenti in tempo reale nel codice gestito, nonché gli oggetti creati da Common Language Runtime.
  • Oggetti della tabella handle (CorGCReferenceType.CorHandle*). Sono inclusi riferimenti sicuri (HNDTYPE_STRONG e HNDTYPE_REFCOUNT) e variabili statiche in un modulo.
  • Oggetti dalla coda del finalizzatore (CorGCReferenceType.CorReferenceFinalizer). Oggetti radice della coda del finalizzatore fino all'esecuzione del finalizzatore.

Il extraData campo contiene dati aggiuntivi a seconda dell'origine (o del tipo) del riferimento. I valori possibili sono:

  • DependentSource. type Se è CorGCReferenceType.CorHandleStrongDependent, questo campo è l'oggetto che, se attivo, radici l'oggetto da raccogliere in COR_GC_REFERENCE.Location.
  • RefCount. type Se è CorGCReferenceType.CorHandleStrongRefCount, questo campo è il conteggio dei riferimenti dell'handle.
  • Size. type Se è CorGCReferenceType.CorHandleStrongSizedByref, questo campo è l'ultima dimensione dell'albero di oggetti per cui il Garbage Collector ha calcolato le radici dell'oggetto. Si noti che questo calcolo non è necessariamente aggiornato.

Requisiti

Piattaforme: Vedere Sistemi operativi supportati da .NET.

Intestazione: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

Versioni di .NET: Disponibile a partire da .NET Framework 4.5