Avaliação da expressão no modo de interrupção
A seçã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 da expressão
A seguir estão as etapas básicas envolvidas na avaliação de uma expressão:
O gerenciador de depuração de sessão (SDM) chama IDebugStackFrame2::GetExpressionContext para obter uma interface de contexto de expressão, IDebugExpressionContext2.
Em seguida, o SDM chama IDebugExpressionContext2::P arseText com a cadeia de caracteres a ser analisada.
Se ParseText não retornar S_OK, o motivo do erro será retornado.
-caso contrário-
Se ParseText retornar S_OK, o SDM poderá chamar IDebugExpression2::EvaluateSync ou IDebugExpression2::EvaluateAsync para obter um valor final da expressão analisada.
Ao usar
IDebugExpression2::EvaluateSync
o , a interface de retorno de chamada fornecida comunica o processo contínuo da avaliação. O valor final é retornado em uma interface IDebugProperty2 .Ao usar
IDebugExpression2::EvaluateAsync
o , a interface de retorno de chamada fornecida comunica o processo contínuo da avaliação. Quando a avaliação estiver concluída, EvaluateAsync enviará uma interface IDebugExpressionEvaluationCompleteEvent2 por meio do retorno de chamada. Com essa interface de evento, o valor final resulta com GetResult.