Partager via


IDebugExpression2

cette interface représente une expression analysée prête pour lier et évaluer.

IDebugExpression2 : IUnknown

Remarques à l'intention des implémenteurs

le moteur de débogage (DE) implémente cette interface pour représenter une expression analysée prête à être évalué.

Remarques pour les appelants

Un appel à IDebugExpressionContext2 : : ParseText retourne cette interface. IDebugStackFrame2 : : GetExpressionContext retourne l'interface d' IDebugExpressionContext2 . Ces interfaces sont accessibles uniquement lorsque le programme débogué a été suspendu et un frame de pile est disponible.

méthodes en commande de Vtable

Le tableau suivant répertorie les méthodes d' IDebugExpression2.

Méthode

Description

IDebugExpression2 : : EvaluateAsync

Évalue l'expression de façon asynchrone.

IDebugExpression2 : : arrêt

Termine l'évaluation d'une expression asynchrone.

IDebugExpression2 : : EvaluateSync

Évalue cette expression de façon synchrone.

Notes

Lorsqu'un programme a désactivé, le gestionnaire de débogage de session (SDM) obtient un frame de pile du De avec un appel à IDebugThread2 : : EnumFrameInfo. Le SDM appelle ensuite IDebugStackFrame2 : : GetExpressionContext pour obtenir l'interface d' IDebugExpressionContext2 . Cela est suivi par un appel à IDebugExpressionContext2 : : ParseText pour créer l'interface d' IDebugExpression2 , qui représente l'expression analysée prête à être évalué.

Le SDM appelle IDebugExpression2 : : EvaluateSync ou IDebugExpression2 : : EvaluateAsync réellement pour évaluer l'expression et produire une valeur.

Dans une implémentation d' IDebugExpressionContext2::ParseText, la fonction d' CoCreateInstance de COM de pour instancier un évaluateur d'expression et pour obtenir une interface d' IDebugExpressionEvaluator (consultez l'exemple de l'interface d' IDebugExpressionEvaluator ). Le De appelle ensuite IDebugExpressionEvaluator : : analysez pour obtenir une interface d' IDebugParsedExpression . cette interface est utilisée dans l'implémentation d' IDebugExpression2::EvaluateSync et d' IDebugExpression2::EvaluateAsync pour exécuter l'évaluation.

Configuration requise

en-tête : msdbg.h

l'espace de noms : Microsoft.VisualStudio.Debugger.Interop

Assembly : Microsoft.VisualStudio.Debugger.Interop.dll

Voir aussi

Référence

IDebugExpressionEvaluationCompleteEvent2 : : GetExpression

Concepts

Les interfaces principales