Condividi tramite


Struttura COR_GC_REFERENCE

Contiene informazioni su on oggetto da sottoporre a Garbage Collection.

Sintassi

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

Members

Membro Descrizione
domain Puntatore al dominio dell'applicazione a cui appartiene l'handle o l'oggetto . Il valore può essere null.
location Interfaccia ICorDebugValue o ICorDebugReferenceValue che corrisponde all'oggetto da eseguire con 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.

Commenti

Il type campo è un valore di enumerazione CorGCReferenceType che indica da dove proviene il riferimento. Un valore specifico COR_GC_REFERENCE 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 a quando non viene eseguito il 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 eseguire in garbage collection 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 Requisiti di sistema di .NET Framework.

Intestazione: CorDebug.idl, CorDebug.h

Libreria: CorGuids.lib

Versioni di .NET Framework: Disponibile dalla versione 4.5

Vedi anche