Partilhar via


Interfaces do avaliador de expressões chave

Importante

No Visual Studio 2015, essa maneira de implementar avaliadores de expressão foi preterida. Para obter informações sobre como implementar avaliadores de expressão CLR, consulte Avaliadores de expressão CLR e Exemplo de avaliador de expressão gerenciado.

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

Descrições da interface

  • IDebugAddress

    Tem um único método, 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 método EvaluateSync para avaliar uma expressão. Essa interface é normalmente implementada pelo provedor de símbolos.

  • IDebugBinder

    Tem o método Bind , que obtém a área de memória que contém o valor atual de um símbolo. Dado o método de contenção, representado por um objeto IDebugObject , e o próprio símbolo, representado por um objeto IDebugField , IDebugBinder::Bind retorna o valor do símbolo. IDebugBinder é normalmente implementado pelo DE.

  • IDebugField

    Representa um tipo de dados simples. Para tipos mais complexos, como matrizes e métodos, use as interfaces IDebugArrayField e IDebugMethodField derivadas, respectivamente. IDebugContainerField é outra interface derivada importante que representa símbolos contendo outros símbolos, como métodos ou classes. A IDebugField interface (e seus derivados) é normalmente implementada pelo provedor de símbolos.

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

  • IDebugObject

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

  • IDebugExpressionEvaluator

    Esta interface representa o próprio avaliador de expressões. O método chave é Parse, que retorna uma interface IDebugParsedExpression .

  • IDebugParsedExpression

    Esta interface representa uma expressão analisada pronta para ser avaliada. O método chave é EvaluateSync que retorna um IDebugProperty2 que representa o valor e o tipo da expressão.

  • IDebugProperty2

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

Consulte também