Compartilhar via


IDebugReference2

Essa interface representa uma referência a uma propriedade de quadro de pilha ou a alguma outra propriedade.

Observação

IDebugReference2 é reservado para uso futuro, e todos os seus métodos devem retornar E_NOTIMPL.

Sintaxe

IDebugReference2 : IUnknown

Notas para implementadores

O DE implementa essa interface para representar uma referência a um tipo específico de valor. Por exemplo, o valor pode ser um valor numérico como resultado de uma avaliação de expressão, um contexto de memória usado para exibir memória ou uma lista de registradores e seus valores.

Observações para chamadores

Chame GetReference para obter essa interface. GetParent e GetDerivedMostReference também retornam essa interface.

Métodos na ordem VTable

A tabela a seguir mostra os métodos de IDebugReference2.

Método Descrição
GetReferenceInfo Obtém a estrutura DEBUG_REFERENCE_INFO que descreve essa referência.
SetValueAsString Define o valor dessa referência a partir de uma cadeia de caracteres.
SetValueAsReference Define o valor dessa referência a partir de outra referência.
EnumChildren Enumera os filhos dessa referência.
GetParent Obtém o pai dessa referência.
GetDerivedMostReference Obtém a referência mais derivada dessa referência.
GetMemoryBytes Obtém os bytes de memória aos quais essa referência se refere.
GetMemoryContext Obtém um contexto de memória para essa referência.
GetSize Obtém o tamanho, em bytes, dessa referência.
SetReferenceType Define esse tipo de referência.
Comparar Compara essa referência com outra.

Comentários

Observação

Esse uso de "propriedade" não deve ser confundido com o significado de uma variável membro de uma classe, embora um IDebugReference2 possa representar tal entidade.

  • IDebugProperty2 representa uma propriedade, enquanto IDebugReference2 representa uma referência a uma propriedade, normalmente uma referência a um objeto no programa que está sendo depurado.

A principal diferença entre uma propriedade e uma referência é que uma propriedade se refere a uma instância nomeada de um objeto, enquanto uma referência se refere a uma instância sem nome. Por exemplo, uma propriedade pode se referir a um objeto no heap do programa por "a.b". Outra propriedade pode se referir ao mesmo objeto que "c.d". A forma de se referir a essa propriedade exige que isso "a.b" ou "c.d" esteja no escopo. Uma referência a esse mesmo objeto não tem nome; O objeto pode ser referido desde que a memória para esse objeto seja válida.

Uma IDebugProperty2 interface pode ser pensada como um valor com um nome, um tipo e um endereço. Um IDebugReference2, por outro lado, pode ser pensado como um tipo e um endereço.

Requisitos

Cabeçalho: msdbg.h

Espaço para nome: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

Confira também