Partilhar via


Principais Interfaces de avaliador de expressão

Ao escrever um avaliador de expressão (EE), juntamente com o contexto de avaliação, você deve estar familiarizado com as seguintes interfaces.

Descrições de interface

  • IDebugAddress 

    Possui um único método, IDebugAddress::GetAddress, que obtém uma estrutura de dados que representa o ponto atual de execução. Essa estrutura de dados é um dos três argumentos que o mecanismo de depuração (DE) passa para o IDebugParsedExpression::EvaluateSync método para avaliar uma expressão. Normalmente, essa interface é implementada pelo provedor de símbolo.

  • IDebugBinder 

    Tem o IDebugBinder::Bind método, que obtém a área de memória que contém o valor atual de um símbolo. Dado o método que o contém, representado por um IDebugObject objeto e o símbolo propriamente dito, representado por um IDebugField objeto, IDebugBinder::Bind retorna o valor do símbolo. IDebugBindergeralmente é implementado por DE.

  • IDebugField 

    Representa um tipo de dados simples. Para os tipos mais complexos, como, por exemplo, matrizes e métodos, use o derivado IDebugArrayField e IDebugMethodField interfaces, respectivamente. IDebugContainerFieldoutra importante interface derivada que representa os símbolos que contém outros símbolos, como métodos ou classes. O IDebugField interface (e seus derivativos) costuma ser implementados pelo provedor de símbolo.

    Um IDebugField objeto pode ser usado para localizar o nome e tipo de um símbolo ou junto com um IDebugBinder de objeto, pode ser usado para localizar o seu valor.

  • IDebugObject 

    Representa os bits reais do valor de tempo de execução de um símbolo. IDebugBinder::Bindleva um IDebugField objeto que representa um símbolo e retorna um IDebugObject objeto. O IDebugObject::GetValue método retorna o valor do símbolo em um buffer de memória. Normalmente, um DE implementa essa interface para representar o valor de uma propriedade na memória.

  • IDebugExpressionEvaluator

    Essa interface representa o avaliador de expressão propriamente dito. O método principal é IDebugExpressionEvaluator::Parse, que retorna um IDebugParsedExpression interface.

  • IDebugParsedExpression

    Essa interface representa uma expressão de analisada pronta para ser avaliada. O método principal é IDebugParsedExpression::EvaluateSync que retorna um IDebugProperty2 que representa o valor e o tipo da expressão.

  • IDebugProperty2

    Essa interface representa um valor e o seu tipo e é o resultado de uma avaliação de expressão.

Consulte também

Conceitos

Contexto de avaliação