Compartilhar via


Escrever um avaliador de expressão do 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, confira Avaliadores de expressão CLR e Exemplo de avaliador de expressão gerenciado.

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 linguagens, a expressão "A+B" significa "a soma de A e B". Em outras linguagens, a mesma expressão pode significar "A ou B". Assim, um EE separado deve ser escrito para cada linguagem de programação que gera o código 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 é suspensa em um ponto de interrupção, todas as expressões que o usuário digitou em uma janela 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 Inspeção ou na janela Imediato.

Nesta seção

Common Language Runtime e avaliação de expressão explicam que, quando você está integrando a 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 MSIL (Microsoft Intermediate Language) 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 associador do Common Language Runtime.

Registrar um avaliador de expressão observa que o EE deve se registrar como fábrica de classes com os ambientes Common Language Runtime e Visual Studio runtime.

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 associador e o avaliador de expressão (EE).

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

Avaliar uma expressão de janela de inspeçã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 inspeçã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 para oferecer suporte a visualizadores de tipo e visualizadores personalizados.

Extensibilidade do depurador do Visual Studio