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 évaluateurs d’expressions (EE) examinent la syntaxe d’un langage pour analyser et évaluer des variables et des expressions au moment de l’exécution, ce qui leur permet d’être consultés par l’utilisateur lorsque l’IDE est en mode arrêt.
Utiliser des évaluateurs d’expression
Les expressions sont créées à l’aide de la méthode ParseText , comme suit :
Le moteur de débogage (DE) implémente l’interface IDebugExpressionContext2 .
Le package de débogage obtient un
IDebugExpressionContext2objet à partir d’une interface IDebugStackFrame2 , puis appelle laIDebugStackFrame2::ParseTextméthode dessus pour obtenir un objet IDebugExpression2 .Le package de débogage appelle la méthode EvaluateSync ou la méthode EvaluateAsync pour obtenir la valeur de l’expression.
IDebugExpression2::EvaluateAsyncest appelé à partir de la fenêtre Commande/Immédiat. Tous les autres composants de l’interface utilisateur appellentIDebugExpression2::EvaluateSync.Le résultat de l’évaluation d’expression est un objet IDebugProperty2 , qui contient le nom, le type et la valeur du résultat de l’évaluation d’expression.
Pendant l’évaluation de l’expression, l’EE nécessite des informations du composant fournisseur de symboles. Le fournisseur de symboles fournit les informations symboliques utilisées pour identifier et comprendre l’expression analysée.
Une fois l’évaluation d’expression asynchrone terminée, un événement asynchrone est envoyé par le DE via le gestionnaire de débogage de session (SDM) pour avertir l’IDE que l’évaluation d’expression est terminée. Le résultat de l’évaluation est ensuite retourné par l’appel à la méthode
IDebugExpression2::EvaluateSync.
Remarques relatives à l’implémentation
Les moteurs de débogage Visual Studio s’attendent à communiquer avec l’évaluateur d’expression à l’aide d’interfaces CLR (Common Language Runtime). Par conséquent, un évaluateur d’expression qui fonctionne avec les moteurs de débogage Visual Studio doit prendre en charge le CLR (une liste complète de toutes les interfaces de débogage CLR se trouve dans debugref.doc, qui fait partie du Kit de développement logiciel (SDK) Windows).