IDebugExpression2
Cette interface représente une expression analysée prête pour la liaison et l’évaluation.
Syntaxe
IDebugExpression2 : IUnknown
Remarques pour les implémenteurs
Le moteur de débogage (DE) implémente cette interface pour représenter une expression analysée prête à être évaluée.
Remarques pour les appelants
Un appel à ParseText retourne cette interface. GetExpressionContext retourne l’interface IDebugExpressionContext2 . Ces interfaces sont accessibles uniquement lorsque le programme en cours de débogage a été suspendu et qu’une trame de pile est disponible.
Méthodes dans l'ordre Vtable
Le tableau suivant présente les méthodes de IDebugExpression2
.
Méthode | Description |
---|---|
EvaluateAsync | Évalue cette expression de façon asynchrone. |
Abort | Termine l’évaluation d’expression asynchrone. |
EvaluateSync | Évalue cette expression de façon synchrone. |
Notes
Lorsqu’un programme s’est arrêté, le gestionnaire de débogage de session (SDM) obtient une trame de pile à partir du DE avec un appel à EnumFrameInfo. Le SDM appelle ensuite GetExpressionContext pour obtenir l’interface IDebugExpressionContext2 . Il est suivi d’un appel à ParseText pour créer l’interface IDebugExpression2
, qui représente l’expression analysée prête à être évaluée.
Le SDM appelle EvaluateSync ou EvaluateAsync pour évaluer réellement l’expression et produire une valeur.
Dans une implémentation de IDebugExpressionContext2::ParseText
, la fonction DE utilise la fonction COM CoCreateInstance
pour instancier un évaluateur d’expression et obtenir une interface IDebugExpressionEvaluator (voir l’exemple dans l’interface IDebugExpressionEvaluator
). Le DE appelle ensuite Parse pour obtenir une interface IDebugParsedExpression . Cette interface est utilisée dans l’implémentation et IDebugExpression2::EvaluateSync
IDebugExpression2::EvaluateAsync
pour effectuer l’évaluation.
Spécifications
En-tête : msdbg.h
Espace de noms : Microsoft.VisualStudio.Debugger.Interop
Assembly : Microsoft.VisualStudio.Debugger.Interop.dll