Partager via


Évaluation d’expression (SDK de débogage Visual Studio)

Pendant le mode pause, l’IDE doit évaluer des expressions simples impliquant plusieurs variables de programme. Pour accomplir cette é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::ParseText et représentées par l’interface résultante IDebugExpression2.

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 de l’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 Variables locales.

Le package de débogage ou le gestionnaire de débogage de session (SDM) appelle IDebugExpression2::EvaluateAsync ou EvaluateSync pour obtenir une interface IDebugProperty2 représentant le résultat de l’évaluation. IDebugProperty2 possède 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 d’expressions

Pour utiliser l’évaluation d’expressions, vous devez implémenter la méthode IDebugExpressionContext2::ParseText et toutes les méthodes de l’interface IDebugExpression2, comme le montre le tableau suivant :

Méthode Description
EvaluateAsync Évalue une expression de manière asynchrone.
Abort Termine l’évaluation asynchrone de l’expression.
EvaluateSync Évalue une expression de manière synchrone.

L’évaluation synchrone et asynchrone nécessite l’implémentation de la méthode IDebugProperty2::GetPropertyInfo. L’évaluation asynchrone des expressions nécessite l’implémentation de IDebugExpressionEvaluationCompleteEvent2.

Voir aussi