Compartilhar via


Avaliação de expressão no modo de pausa

A seção a seguir descreve o processo que ocorre quando o depurador está no modo de pausa e deve avaliar expressões.

Processo de avaliação de expressão

A seguir estão as etapas básicas envolvidas na avaliação de uma expressão:

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

  2. Em seguida, o SDM chama IDebugExpressionContext2::ParseText 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::EvaluateSync, a interface de callback fornecida comunica o processo em andamento da avaliação. O valor final é retornado em uma interface IDebugProperty2 .

    • Ao usar IDebugExpression2::EvaluateAsync, a interface de retorno de chamada fornecida informa sobre o andamento contínuo da avaliação. Depois que a avaliação é concluída, o EvaluateAsync envia uma interface IDebugExpressionEvaluationCompleteEvent2 através do callback. Com esta interface de evento, o valor final é obtido com GetResult.