Partager via


Évaluation des expressions

Les expressions sont créées des chaînes passé vers le bas les automobiles, de l'affiche, de l'Espion Express, les fenêtres ou immédiates. Lorsqu'une expression est évaluée, elle génère une chaîne imprimable qui contient le nom et le type de variable ou argument et sa valeur. Cette chaîne est affichée dans la fenêtre correspondante de l'IDE.

Implémentation

Les expressions sont évaluées lorsqu'un programme a arrêté par un point d'arrêt. L'expression elle-même est représentée par une interface d' IDebugExpression2 , qui représente une expression analysée qui est prête pour la liaison et évaluation dans le contexte donné d'évaluation de l'expression. Le frame de pile détermine le contexte d'évaluation de l'expression, qui le (DE) fournit du moteur de débogage en implémentant l'interface d' IDebugExpressionContext2 .

Étant donné un utilisateur la chaîne et une interface d' IDebugExpressionContext2 , un moteur (DE) de débogage peut obtenir une interface d' IDebugExpression2 en passant la chaîne utilisateur à la méthode d' IDebugExpressionContext2 : : ParseText . l'interface IDebugExpression2 retournée contient l'expression analysée prête pour l'évaluation.

Avec l'interface d' IDebugExpression2 , le De peut obtenir la valeur de l'expression via l'évaluation d'une expression synchrone ou asynchrone, à l'aide de IDebugExpression2 : : EvaluateSync ou IDebugExpression2 : : EvaluateAsync. Cette valeur, avec le nom et le type de la variable ou de l'argument, est envoyé à l'IDE pour l'affichage. La valeur, le nom, le type sont représentés par une interface d' IDebugProperty2 .

pour activer l'évaluation de l'expression, un De doit implémenter les interfaces d' IDebugExpression2 et d' IDebugExpressionContext2 . l'évaluation synchrone et asynchrone requièrent l'implémentation de la méthode d' IDebugProperty2 : : GetPropertyInfo .

Voir aussi

Concepts

frames de pile

contexte d'évaluation de l'expression

tâches de débogage