Estrutura COR_GC_REFERENCE
Contém informações sobre um objeto que deve ser recolhido pela memória.
Syntax
typedef struct _COR_GC_REFERENCE {
ICorDebugAppDomain *domain;
ICorDebugValue *location;
CorGCReferenceType type;
UINT64 extraData;
} COR_GC_REFERENCE;
Membros
Membro | Description |
---|---|
domain |
Um ponteiro para o domínio da aplicação ao qual pertence o identificador ou objeto. O respetivo valor pode ser null . |
location |
Uma interface ICorDebugValue ou ICorDebugReferenceValue que corresponde ao objeto a ser recolhido pela memória. |
type |
Um valor de enumeração CorGCReferenceType que indica de onde veio a raiz. Para obter mais informações, consulte a secção Observações. |
extraData |
Dados adicionais sobre o objeto a recolher da memória. Estas informações dependem da origem do objeto, conforme indicado pelo type campo. Para obter mais informações, consulte a secçã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 geridos:
Objetos de todas as pilhas geridas (
CorGCReferenceType.CorReferenceStack
). Isto inclui referências em direto no código gerido, bem como objetos criados pelo runtime de linguagem comum.Objetos da tabela de identificadores (
CorGCReferenceType.CorHandle*
). Isto inclui referências fortes (HNDTYPE_STRONG
eHNDTYPE_REFCOUNT
) e variáveis estáticas num módulo.Objetos da fila de finalizador (
CorGCReferenceType.CorReferenceFinalizer
). A fila de finalizador tem raízes até que o finalizador seja executado.
O extraData
campo contém dados adicionais consoante a origem (ou tipo) da referência. Os valores possíveis são:
DependentSource
. Se fortype
CorGCReferenceType.CorHandleStrongDependent
, este campo é o objeto que, se estiver vivo, enraiza o objeto a ser recolhido pela memória emCOR_GC_REFERENCE.Location
.RefCount
. Se fortype
CorGCReferenceType.CorHandleStrongRefCount
, este campo é a contagem de referência do identificador.Size
. Se fortype
CorGCReferenceType.CorHandleStrongSizedByref
, este campo tem o último tamanho da árvore de objetos para a qual o recoletor de lixo calculou as raízes do objeto. Tenha em atenção que este cálculo não está necessariamente atualizado.
Requisitos
Plataformas: Veja Requisitos de Sistema.
Cabeçalho: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
.NET Framework Versões: Disponível desde a versão 4.5