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

Confira também