Avaliação da expressão no modo de interrupção
A seguir descreve o processo que ocorre quando o depurador está no modo de interrupção e deve conduzir a avaliação da expressão.
Processo de avaliação de expressão
Estas são as etapas básicas envolvidas na avaliação de uma expressão:
O Gerenciador de sessão de depuração (SDM) chama IDebugStackFrame2::GetExpressionContext para obter uma interface de contexto de expressão, IDebugExpressionContext2.
O SDM chama IDebugExpressionContext2::ParseText com a seqüência de caracteres a ser analisado.
Se não retornar ParseText S_OK, a razão do erro é retornada.
-Caso contrário-
Se ParseText retornar S_OK, o SDM pode chamar um IDebugExpression2::EvaluateSync ou IDebugExpression2::EvaluateAsync para obter um valor final da expressão analisada.
No caso de uso de IDebugExpression2::EvaluateSync, a interface de retorno de chamada determinado é usada para comunicar o contínuo processo de avaliação. O valor final é retornado em um IDebugProperty2 interface.
No caso de uso de IDebugExpression2::EvaluateAsync, a interface de retorno de chamada determinado é usada para comunicar o contínuo processo de avaliação. Uma vez concluída a avaliação, EvaluateAsync envia um IDebugExpressionEvaluationCompleteEvent2 interface por meio do retorno de chamada. Com essa interface de evento, o valor final pode ser obtido com IDebugExpressionEvaluationCompleteEvent2::GetResult.