Partager via


COR_GC_REFERENCE Structure

Contient des informations sur un objet qui doit être collecté par le garbage-collect.

Syntaxe

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

Members

Membre Descriptif
domain Pointeur vers le domaine d’application auquel appartient le handle ou l’objet. Sa valeur peut être null.
location ICorDebugValue ou une interface ICorDebugReferenceValue qui correspond à l’objet à collecter par la mémoire.
type Valeur d’énumération CorGCReferenceType qui indique l’origine de la racine. Pour plus d’informations, consultez la section Remarques.
extraData Données supplémentaires sur l’objet à collecter par le garbage-collect. Ces informations dépendent de la source de l’objet, comme indiqué par le type champ. Pour plus d’informations, consultez la section Remarques.

Remarques

Le type champ est une valeur d’énumération CorGCReferenceType qui indique à partir de laquelle la référence provient. Une valeur particulière COR_GC_REFERENCE peut refléter l’un des types d’objets managés suivants :

  • Objets de toutes les piles managées (CorGCReferenceType.CorReferenceStack). Cela inclut les références actives dans le code managé, ainsi que les objets créés par le Common Language Runtime.
  • Objets de la table de handles (CorGCReferenceType.CorHandle*). Cela inclut des références fortes (HNDTYPE_STRONG et HNDTYPE_REFCOUNT) et des variables statiques dans un module.
  • Objets de la file d’attente du finaliseur (CorGCReferenceType.CorReferenceFinalizer). Les objets de file d’attente du finaliseur jusqu’à ce que le finaliseur s’exécute.

Le extraData champ contient des données supplémentaires en fonction de la source (ou du type) de la référence. Les valeurs possibles sont les suivantes :

  • DependentSource. Si l’objet type est CorGCReferenceType.CorHandleStrongDependent, ce champ est l’objet qui, s’il est vivant, racine l’objet à collecter à la mémoire à l’adresse COR_GC_REFERENCE.Location.
  • RefCount. Si la type valeur est CorGCReferenceType.CorHandleStrongRefCount, ce champ est le nombre de références du handle.
  • Size. Si la type valeur est CorGCReferenceType.CorHandleStrongSizedByref, ce champ est la dernière taille de l’arborescence d’objets pour laquelle le garbage collector a calculé les racines de l’objet. Notez que ce calcul n’est pas nécessairement à jour.

Spécifications

Plates-formes: Consultez les systèmes d’exploitation pris en charge par .NET.

En-tête: CorDebug.idl, CorDebug.h

Bibliothèque: CorGuids.lib

Versions de .NET : Disponible depuis .NET Framework 4.5