Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Pendant le mode arrêt, l’IDE doit évaluer des expressions simples impliquant plusieurs variables de programme. Pour effectuer son évaluation, le moteur de débogage (DE) doit analyser et évaluer une expression entrée dans l’une des fenêtres de l’IDE.
Les expressions sont créées avec la méthode IDebugExpressionContext2 ::P arseText et représentées par l’interface IDebugExpression2 obtenue.
L’interface IDebugExpression2 est implémentée par le DE et appelle sa méthode EvalAsync pour retourner une interface IDebugProperty2 à l’IDE, afin d’afficher les résultats de l’évaluation d’expression dans l’IDE. IDebugProperty2 ::GetPropertyInfo retourne une structure utilisée pour placer la valeur d’une expression dans une fenêtre Espion ou dans la fenêtre Locals .
Le package de débogage ou le gestionnaire de débogage de session (SDM) appelle IDebugExpression2 ::EvaluateAsync ou EvaluateSync pour obtenir une interface IDebugProperty2 qui représente le résultat de l’évaluation.
IDebugProperty2 a des méthodes qui retournent le nom, le type et la valeur de l’expression. Ces informations s’affichent dans différentes fenêtres du débogueur.
Utilisation de l’évaluation des expressions
Pour utiliser l’évaluation des expressions, vous devez implémenter la méthode IDebugExpressionContext2 ::P arseText et toutes les méthodes de l’interface IDebugExpression2 , comme illustré dans le tableau suivant.
| Méthode | Descriptif |
|---|---|
| EvaluateAsync | Évalue une expression de façon asynchrone. |
| abandonner | Termine l'évaluation de l'expression asynchrone. |
| EvaluateSync | Évalue une expression de façon synchrone. |
L’évaluation synchrone et asynchrone nécessite l’implémentation de la méthode IDebugProperty2 ::GetPropertyInfo . L’évaluation d’expression asynchrone nécessite l’implémentation d’IDebugExpressionEvaluationCompleteEvent2.