Compartilhar via


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:

  1. O gerenciador de depuração de sessão (SDM) chama IDebugStackFrame2::GetExpressionContext para obter uma interface de contexto de expressão, IDebugExpressionContext2.

  2. Em seguida, o SDM chama IDebugExpressionContext2::P arseText com a cadeia de caracteres a ser analisada.

  3. 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::EvaluateSynco , 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::EvaluateAsynco , 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.