Partilhar via


COR_GC_REFERENCE Estrutura

Contém informações sobre um objeto que deve ser coletado por lixo.

Sintaxe

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

Members

Membro Description
domain Um ponteiro para o domínio do aplicativo ao qual o identificador ou objeto pertence. O seu valor pode ser null.
location Um ICorDebugValue ou um ICorDebugReferenceValue interface que corresponde ao objeto a ser coletado lixo.
type Um valor de enumeração CorGCReferenceType que indica de onde veio a raiz. Para obter mais informações, consulte a seção Observações.
extraData Dados adicionais sobre o objeto a ser coletado de lixo. Esta informação depende da fonte do objeto, conforme indicado pelo type campo. Para obter mais informações, consulte a seção Observações.

Observações

O type campo é um valor de enumeração CorGCReferenceType que indica de onde veio a referência. Um valor específico COR_GC_REFERENCE pode refletir qualquer um dos seguintes tipos de objetos gerenciados:

  • Objetos de todas as pilhas gerenciadas (CorGCReferenceType.CorReferenceStack). Isso inclui referências em tempo real no código gerenciado, bem como objetos criados pelo Common Language Runtime.
  • Objetos da tabela de alças (CorGCReferenceType.CorHandle*). Isso inclui referências fortes (HNDTYPE_STRONG e HNDTYPE_REFCOUNT) e variáveis estáticas em um módulo.
  • Objetos da fila do finalizador (CorGCReferenceType.CorReferenceFinalizer). A fila do finalizador enraíza os objetos até que o finalizador seja executado.

O extraData campo contém dados adicionais dependendo da fonte (ou tipo) da referência. Os valores possíveis são:

  • DependentSource. Se for typeCorGCReferenceType.CorHandleStrongDependent, este campo é o objeto que, se vivo, enraíza o objeto a ser coletado em COR_GC_REFERENCE.Location.
  • RefCount. Se for typeCorGCReferenceType.CorHandleStrongRefCount, este campo é a contagem de referência da alça.
  • Size. Se for typeCorGCReferenceType.CorHandleStrongSizedByref, este campo é o último tamanho da árvore de objetos para a qual o coletor de lixo calculou as raízes do objeto. Note que este cálculo não está necessariamente atualizado.

Requerimentos

Plataformas: Consulte Sistemas operacionais suportados pelo .NET.

Cabeçalho: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

Versões .NET: Disponível desde: .NET Framework 4.5