Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os avaliadores de expressões (EE) examinam a sintaxe de uma linguagem para analisar e avaliar variáveis e expressões em tempo de execução, permitindo que elas sejam visualizadas pelo usuário quando o IDE estiver no modo de interrupção.
Usar avaliadores de expressão
As expressões são criadas usando o método ParseText , da seguinte maneira:
O mecanismo de depuração (DE) implementa a interface IDebugExpressionContext2 .
O pacote de depuração obtém um
IDebugExpressionContext2objeto de uma interface IDebugStackFrame2 e depois chama oIDebugStackFrame2::ParseTextmétodo nele para obter um objeto IDebugExpression2.O pacote de depuração chama o método EvaluateSync ou o método EvaluateAsync para obter o valor da expressão.
IDebugExpression2::EvaluateAsyncé chamado a partir da janela Comando/Imediato. Todos os outros componentes da interface do usuário chamamIDebugExpression2::EvaluateSync.O resultado da avaliação de expressão é um objeto IDebugProperty2 , que contém o nome, o tipo e o valor do resultado da avaliação de expressão.
Durante a avaliação da expressão, o EE requer informações do componente provedor de símbolos. O provedor de símbolos fornece as informações simbólicas usadas para identificar e entender a expressão analisada.
Quando a avaliação de expressão assíncrona é concluída, um evento assíncrono é enviado pelo DE por meio do gerenciador de depuração de sessão (SDM) para notificar o IDE de que a avaliação da expressão está concluída. E, o resultado da avaliação é então retornado da chamada para o método
IDebugExpression2::EvaluateSync.
Notas sobre a aplicação
Os mecanismos de depuração do Visual Studio esperam conversar com o avaliador de expressão usando interfaces CLR (Common Language Runtime). Como resultado, um avaliador de expressão que trabalha com os mecanismos de depuração do Visual Studio deve oferecer suporte ao CLR (uma lista completa de todas as interfaces de depuração CLR pode ser encontrada no debugref.doc, que faz parte do Windows Software Development Kit (SDK)).