Partager via


É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::ParseText avec la chaîne à analyser.

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

    -autrement-

    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 de IDebugExpression2::EvaluateSync, l’interface de rappel donnée communique sur le déroulement continu de l’évaluation. La valeur finale est retournée dans une interface IDebugProperty2 .

    • L’interface de rappel donnée communique le déroulement de l'évaluation lors de l’utilisation de IDebugExpression2::EvaluateAsync. Une fois l’évaluation terminée, EvaluateAsync envoie une interface IDebugExpressionEvaluationCompleteEvent2 via le rappel. Avec cette interface d’événement, la valeur finale est obtenue avec GetResult.