Estrutura COR_GC_REFERENCE
Contém informações sobre um objeto que será coletado como lixo.
Sintaxe
typedef struct _COR_GC_REFERENCE {
ICorDebugAppDomain *domain;
ICorDebugValue *location;
CorGCReferenceType type;
UINT64 extraData;
} COR_GC_REFERENCE;
Membros
Membro | DESCRIÇÃO |
---|---|
domain |
Um ponteiro para o domínio do aplicativo ao qual o identificador ou objeto pertence. Seu valor pode ser null . |
location |
Uma interface ICorDebugValue ou ICorDebugReferenceValue que corresponde ao objeto a ser coletado. |
type |
Um valor de enumeração CorGCReferenceType que indica de onde veio a raiz. Para obter mais informações, consulte a seção Comentários. |
extraData |
Dados adicionais sobre o objeto a ser coletado. Essas informações dependem da origem do objeto, conforme indicado pelo campo type . Para obter mais informações, consulte a seção Comentários. |
Comentários
O campo type
é um valor de enumeração CorGCReferenceType que indica de onde veio a referência. Um valor COR_GC_REFERENCE
específico pode refletir qualquer um dos seguintes tipos de objetos gerenciados:
Objetos de todas as pilhas gerenciadas (
CorGCReferenceType.CorReferenceStack
). Isso inclui referências dinâmicas no código gerenciado, bem como objetos criados pelo Common Language Runtime.Objetos da tabela de identificador (
CorGCReferenceType.CorHandle*
). Isso inclui referências fortes (HNDTYPE_STRONG
eHNDTYPE_REFCOUNT
) e variáveis estáticas em um módulo.Objetos da fila do finalizador (
CorGCReferenceType.CorReferenceFinalizer
). O finalizador enfileira objetos raiz até que o finalizador tenha sido executado.
O campo extraData
contém dados extras dependendo da origem (ou tipo) da referência. Os valores possíveis são:
DependentSource
. Se otype
forCorGCReferenceType.CorHandleStrongDependent
, esse campo será o objeto que, se estiver vivo, criará raízes no objeto a ser coletado emCOR_GC_REFERENCE.Location
.RefCount
. Setype
forCorGCReferenceType.CorHandleStrongRefCount
, esse campo será a contagem de referência do identificador.Size
. Setype
forCorGCReferenceType.CorHandleStrongSizedByref
, esse campo será o último tamanho da árvore de objetos para o qual o coletor de lixo calculou as raízes do objeto. Observe que esse cálculo não está necessariamente atualizado.
Requisitos
Plataformas: confira Requisitos do sistema.
Cabeçalho: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
Versões do .NET Framework: disponíveis desde 4.5