IDebugProperty2
Essa interface representa uma propriedade de quadro de pilha, uma propriedade de documento de programa ou alguma outra propriedade. A propriedade geralmente é o resultado de uma avaliação de expressão.
Observação
Esse uso de "propriedade" não deve ser confundido com o significado de uma variável membro de uma classe, embora um IDebugProperty2
possa representar tal entidade.
Sintaxe
IDebugProperty2 : IUnknown
Notas para implementadores
O DE implementa essa interface para representar 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 EvaluateSync ou EvaluateAsync para obter essa interface, que representa o resultado de uma avaliação. IDebugExpression2::EvaluateAsync
retorna essa interface enviando uma interface IDebugExpressionEvaluationCompleteEvent2 para o SDM, que por sua vez chama GetResult para recuperar a propriedade.
GetDebugProperty retorna essa interface para fornecer o documento de script associado.
GetReturnValue retorna essa interface para representar o valor de retorno de uma função.
GetDebugProperty retorna essa interface para representar várias propriedades do programa, como um nome ou um contexto de memória.
GetDebugProperty retorna essa interface para representar várias propriedades do quadro de pilha, como variáveis locais.
Métodos na ordem VTable
A tabela a seguir mostra os métodos de IDebugProperty2
.
Método | Descrição |
---|---|
GetPropertyInfo | Preenche uma estrutura DEBUG_PROPERTY_INFO que descreve uma propriedade. |
SetValueAsString | Define o valor de uma propriedade de uma cadeia de caracteres. |
SetValueAsReference | Define o valor da propriedade a partir do valor de uma determinada referência. |
EnumChildren | Enumera os filhos de uma propriedade. |
GetParent | Retorna o pai de uma propriedade. |
GetDerivedMostProperty | Retorna a propriedade que descreve a propriedade mais derivada de uma propriedade. |
GetMemoryBytes | Retorna os bytes de memória que compõem o valor de uma propriedade. |
GetMemoryContext | Retorna o contexto de memória para um valor de propriedade. |
GetSize | Retorna o tamanho, em bytes, do valor da propriedade. |
GetReference | Retorna uma referência ao valor dessa propriedade. |
GetExtendedInfo | Retorna as informações estendidas de uma propriedade. |
Comentários
Uma propriedade, representada por uma IDebugProperty2
interface, pode ser pensada como um valor com um nome, um tipo e um endereço. Em termos mais gerais, um IDebugProperty2
pode representar qualquer coisa que tenha uma estrutura hierárquica, com pais e nós filhos.
Uma propriedade geralmente é transitória, durando apenas o tempo que o quadro de pilha atual, por exemplo. Por outro lado, uma referência, representada por uma interface IDebugReference2 , dura enquanto o valor permanece na memória.
O IDE pode usar a interface para permitir que os IDebugProperty2
usuários naveguem e modifiquem propriedades em tempo de execução.
Requisitos
Cabeçalho: msdbg.h
Espaço para nome: Microsoft.VisualStudio.Debugger.Interop
Assembly: Microsoft.VisualStudio.Debugger.Interop.dll