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 isso, o que significa uma variável de membro de uma classe, embora um IDebugProperty2 possa representar essa entidade.

Syntax

IDebugProperty2 : IUnknown

Observações 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 registros 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 em 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 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, conforme representada por uma interface, pode ser pensada como um valor com um IDebugProperty2 nome, um tipo e um endereço. Em termos mais gerais, um pode representar qualquer coisa que tenha uma estrutura IDebugProperty2 hierárquica, com pais e nós filho.

Uma propriedade geralmente é transitória, durando apenas enquanto o quadro de pilha atual, por exemplo. Por outro lado, uma referência, conforme representada por uma interface IDebugReference2, dura enquanto o valor permanece na memória.

O IDE pode usar a IDebugProperty2 interface para permitir que os usuários naveguem e modifiquem propriedades em tempo de operação.

Requisitos

Header: msdbg.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

Confira também