Escrevendo um avaliador de expressão Common Language Runtime

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 gerenciada.

O avaliador de expressão (EE) é a parte de um mecanismo de depuração (DE) que manipula a sintaxe e a semântica da linguagem de programação que produziu o código que está sendo depurado. As expressões devem ser avaliadas dentro do contexto de uma linguagem de programação. Por exemplo, em algumas línguas, a expressão "A+B" significa "a soma de A e B". Em outros idiomas, a mesma expressão pode significar "A ou B". Assim, um EE separado deve ser escrito para cada linguagem de programação que gera código de objeto a ser depurado no IDE do Visual Studio.

Alguns aspectos do pacote de depuração do Visual Studio devem interpretar o código no contexto da linguagem de programação. Por exemplo, quando a execução é interrompida em um ponto de interrupção, todas as expressões que o usuário digitou em uma janela de inspeção devem ser avaliadas e exibidas. O usuário pode alterar o valor de uma variável local digitando uma expressão em uma janela de inspeção ou na janela Immediate .

Nesta seção

Common language runtime and expression evaluation Explica que, quando você está integrando uma linguagem de programação proprietária no IDE do Visual Studio, escrever um EE capaz de avaliar expressões no contexto da linguagem proprietária permite que você compile para uma linguagem intermediária da Microsoft (MSIL) sem escrever um mecanismo de depuração.

Arquitetura do avaliador de expressão Discute como implementar as interfaces EE necessárias e chamar o provedor de símbolos (SP) e as interfaces de fichário do Common Language Runtime.

Registrar um avaliador de expressão Observa que o EE deve se registrar como uma fábrica de classes com os ambientes common language runtime e Visual Studio.

Implementar um avaliador de expressão Descreve como o processo de avaliação de uma expressão inclui o mecanismo de depuração (DE), o provedor de símbolos (SP), o objeto de fichário e o avaliador de expressão (EE).

Exibir locais Descreve como, quando a execução é pausada, o pacote de depuração chama o DE para obter uma lista de variáveis e argumentos locais .

Avaliar uma expressão de janela de observação Documenta como o pacote de depuração do Visual Studio chama o DE para determinar o valor atual de cada expressão em sua lista de observação.

Alterar o valor de um local Explica que, ao alterar o valor de um local, cada linha da janela Locais tem um objeto associado que fornece o nome, o tipo e o valor atual de um local .

Implementar visualizadores de tipo e visualizadores personalizados Explica qual interface precisa ser implementada por qual componente oferecer suporte a visualizadores de tipo e visualizadores personalizados.

Extensibilidade do depurador do Visual Studio