Évaluation des expressions en mode arrêt

La section suivante décrit le processus qui se produit lorsque le débogueur est en mode arrêt et doit effectuer l’évaluation des expressions.

Processus d’évaluation des expressions

Voici les étapes de base de l’évaluation d’une expression :

  1. Le gestionnaire de débogage de session appelle IDebugStackFrame2 ::GetExpressionContext pour obtenir une interface de contexte d’expression, IDebugExpressionContext2.

  2. Le SDM appelle ensuite IDebugExpressionContext2 ::P arseText avec la chaîne à analyser.

  3. Si ParseText ne retourne pas S_OK, la raison de l’erreur est retournée.

    -Sinon-

    Si ParseText retourne S_OK, le SDM peut ensuite appeler IDebugExpression2 ::EvaluateSync ou IDebugExpression2 ::EvaluateAsync pour obtenir une valeur finale de l’expression analysée.

    • Lors de l’utilisation IDebugExpression2::EvaluateSync, l’interface de rappel donnée communique le processus continu de l’évaluation. La valeur finale est retournée dans une interface IDebugProperty2 .

    • Lors de l’utilisation IDebugExpression2::EvaluateAsync, l’interface de rappel donnée communique le processus continu de l’évaluation. Une fois l’évaluation terminée, EvaluateAsync envoie une interface IDebugExpressionEvaluationCompleteEvent2 via le rappel. Avec cette interface d’événement, les résultats de la valeur finale avec GetResult.