Évaluateur d’expressionExpression evaluator

Évaluateurs d’expression (EE) examiner la syntaxe d’une langue pour analyser et évaluer des variables et expressions en cours d’exécution, ce qui leur permet d’être affiché par l’utilisateur lors de l’IDE est en mode arrêt.Expression evaluators (EE) examine the syntax of a language to parse and evaluate variables and expressions at run time, allowing them to be viewed by the user when the IDE is in break mode.

Utiliser les évaluateurs d’expressionUse expression evaluators

Les expressions sont créées à l’aide de la ParseText méthode, comme suit :Expressions are created using the ParseText method, as follows:

  1. Le moteur de débogage (dé) implémente la IDebugExpressionContext2 interface.The debug engine (DE) implements the IDebugExpressionContext2 interface.

  2. Obtient le package de débogage un IDebugExpressionContext2 de l’objet à partir d’un IDebugStackFrame2 interface, puis appelle la IDebugStackFrame2::ParseText méthode dessus pour obtenir un IDebugExpression2 objet.The debug package gets an IDebugExpressionContext2 object from an IDebugStackFrame2 interface and then calls the IDebugStackFrame2::ParseText method on it to get an IDebugExpression2 object.

  3. Les appels de package de débogage la EvaluateSync méthode ou le EvaluateAsync méthode pour obtenir la valeur de l’expression.The debug package calls the EvaluateSync method or the EvaluateAsync method to get the value of the expression. IDebugExpression2::EvaluateAsync est appelée à partir de la fenêtre de commande/exécution.IDebugExpression2::EvaluateAsync is called from the Command/Immediate window. Tous les autres composants d’interface utilisateur appellent IDebugExpression2::EvaluateSync.All other UI components call IDebugExpression2::EvaluateSync.

  4. Le résultat de l’évaluation de l’expression est un IDebugProperty2 objet qui contient le nom, le type et la valeur du résultat de l’évaluation d’expression.The result of expression evaluation is an IDebugProperty2 object, which contains the name, type, and value of the result of the expression evaluation.

    Lors de l’évaluation d’expression, le EE requiert des informations à partir du composant de fournisseur de symboles.During expression evaluation, the EE requires information from the symbol provider component. Le fournisseur de symboles fournit des informations sur les symboles utilisées pour identifier et comprendre l’expression analysée.The symbol provider supplies the symbolic information used for identifying and understanding the parsed expression.

    Lors de l’évaluation de l’expression asynchrone se termine, un événement asynchrone est envoyé par le DE via le Gestionnaire de session de débogage (SDM) pour informer l’IDE que l’évaluation de l’expression est terminée.When asynchronous expression evaluation completes, an asynchronous event is sent by the DE through the session debug manager (SDM) to notify the IDE that expression evaluation is complete. Et, le résultat de l’évaluation est ensuite retourné à partir de l’appel à la IDebugExpression2::EvaluateSync (méthode).And, the result of the evaluation is then returned from the call to the IDebugExpression2::EvaluateSync method.

Remarques d'implémentationImplementation notes

Le Visual StudioVisual Studio attendent des moteurs de débogage discuter avec l’évaluateur d’expression à l’aide des interfaces du Common Language Runtime (CLR).The Visual StudioVisual Studio debug engines expect to talk with the expression evaluator using Common Language Runtime (CLR) interfaces. Par conséquent, un évaluateur d’expression qui fonctionne avec le Visual StudioVisual Studio moteurs de débogage doivent prendre en charge le CLR (vous trouverez une liste complète des CLR toutes les interfaces de débogage dans debugref.doc, qui fait partie de la Kit de développement logiciel WindowsWindows Software Development Kit (SDK)).As a result, an expression evaluator that works with the Visual StudioVisual Studio debug engines must support the CLR (a complete list of all CLR debugging interfaces can be found in debugref.doc, which is part of the Kit de développement logiciel WindowsWindows Software Development Kit (SDK)).

Voir aussiSee also

Composants du débogueurDebugger components