Avaliação de expressão (Visual Studio SDK de depuração)
Durante o modo de interrupção, o IDE deve ser capaz de avaliar expressões simples envolvendo diversas variáveis do seu programa. Para fazer isso, o mecanismo de depuração (DE) deve ser capaz de analisar e avaliar uma expressão que é inserida em uma das janelas do IDE.
As expressões são criadas usando o IDebugExpressionContext2::ParseText método e são representados pelo resultante IDebugExpression2 interface.
O IDebugExpression2 interface é implementada pelo chamadas e DE seus EvalAsync método para retornar um IDebugProperty2 interface IDE, para exibir os resultados da avaliação da expressão no IDE. IDebugProperty2::GetPropertyInfo retorna uma estrutura que pode ser usada para colocar o valor de uma expressão em uma janela Watch ou na janela Locals.
O debug pacote ou sessão de depuração Gerenciador (SDM) chama IDebugExpression2::EvaluateAsync ou EvaluateSync para obter um IDebugProperty2 interface que representa o resultado da avaliação. IDebugProperty2tem métodos que retornam o nome, tipo e valor da expressão. Essas informações são exibidas nas várias janelas do depurador.
Usando a avaliação de expressão
Para usar a avaliação da expressão, você deve implementar a IDebugExpressionContext2::ParseText método e todos os métodos da IDebugExpression2 interface, conforme mostrado na tabela a seguir.
Método |
Descrição |
---|---|
Avalia uma expressão assincronamente. |
|
Termina a avaliação da expressão assíncrona. |
|
Avalia uma expressão de forma síncrona. |
Avaliação síncrona e assíncrona exige a implementação da IDebugProperty2::GetPropertyInfo método. A avaliação da expressão assíncrona requer a implementação de IDebugExpressionEvaluationCompleteEvent2.