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