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.
Les expressions sont créées à partir de chaînes provenant des fenêtres Autos, fenêtre Watch, fenêtre QuickWatch, ou fenêtre Immediate. Lorsqu’une expression est évaluée, elle génère une chaîne imprimable qui contient le nom et le type de variable ou d’argument et sa valeur. Cette chaîne s’affiche dans la fenêtre IDE correspondante.
Implementation
Les expressions sont évaluées lorsque un programme est suspendu à un point d’arrêt. L’expression elle-même est représentée par une interface IDebugExpression2 , qui représente une expression analysée prête pour la liaison et l’évaluation dans le contexte d’évaluation d’expression donné. La trame de pile détermine le contexte d'évaluation des expressions, que le moteur de débogage (DE) fournit en implémentant l'interface IDebugExpressionContext2.
Étant donné une chaîne utilisateur et une interface IDebugExpressionContext2 , un moteur de débogage (DE) peut obtenir une interface IDebugExpression2 en passant la chaîne utilisateur à la méthode IDebugExpressionContext2 ::P arseText . L’interface IDebugExpression2 retournée contient l’expression analysée prête pour l’évaluation.
Avec l’interface IDebugExpression2 , le DE peut obtenir la valeur de l’expression via l’évaluation synchrone ou asynchrone de l’expression, à l’aide d’IDebugExpression2 ::EvaluateSync ou IDebugExpression2 ::EvaluateAsync. Cette valeur, ainsi que le nom et le type de la variable ou de l’argument, sont envoyées à l’IDE pour l’affichage. La valeur, le nom et le type sont représentés par une interface IDebugProperty2 .
Pour activer l’évaluation des expressions, un DE doit implémenter les interfaces IDebugExpression2 et IDebugExpressionContext2 . L’évaluation synchrone et asynchrone nécessite l’implémentation de la méthode IDebugProperty2 ::GetPropertyInfo .