Écriture d’un évaluateur d’expression Common Language Runtime

Important

Dans Visual Studio 2015, cette façon d’implémenter des évaluateurs d’expression est déconseillée. Pour plus d’informations sur l’implémentation d’évaluateurs d’expression CLR, consultez l’exemple d’évaluateur d’expression CLR et d’évaluateur d’expression managée.

L’évaluateur d’expression (EE) fait partie d’un moteur de débogage (DE) qui gère la syntaxe et la sémantique du langage de programmation qui a produit le code en cours de débogage. Les expressions doivent être évaluées dans le contexte d’un langage de programmation. Par exemple, dans certaines langues, l’expression « A+B » signifie « la somme de A et B ». Dans d’autres langages, la même expression peut signifier « A ou B ». Ainsi, un EE distinct doit être écrit pour chaque langage de programmation qui génère du code objet à déboguer dans l’IDE Visual Studio.

Certains aspects du package de débogage Visual Studio doivent interpréter le code dans le contexte du langage de programmation. Par exemple, lorsque l’exécution s’arrête à un point d’arrêt, toutes les expressions que l’utilisateur a tapées dans une fenêtre Espion doivent être évaluées et affichées. L’utilisateur peut modifier la valeur d’une variable locale en tapant une expression dans une fenêtre Espion ou dans la fenêtre Exécution .

Contenu de cette section

Le Common Language Runtime et l’évaluation des expressions expliquent que lorsque vous intégrez un langage de programmation propriétaire dans l’IDE Visual Studio, l’écriture d’un EE capable d’évaluer des expressions dans le contexte du langage propriétaire vous permet de compiler dans un langage microsoft intermédiaire (MSIL) sans écrire de moteur de débogage.

L’architecture de l’évaluateur d’expression explique comment implémenter les interfaces EE requises et appeler le fournisseur de symboles Common Language Runtime (SP) et les interfaces de classeur.

Inscrivez un évaluateur d’expression Remarques que l’EE doit s’inscrire en tant que fabrique de classes avec les environnements Common Language Runtime et Visual Studio Runtime.

Implémenter un évaluateur d’expression Décrit comment le processus d’évaluation d’une expression inclut le moteur de débogage (DE), le fournisseur de symboles (SP), l’objet binder et l’évaluateur d’expression (EE).

Afficher les variables locales Décrit comment, quand l’exécution s’interrompt, le package de débogage appelle le DE pour obtenir la liste des variables et arguments locaux.

Évaluer une expression de fenêtre espion Documente la façon dont le package de débogage Visual Studio appelle le DE pour déterminer la valeur actuelle de chaque expression dans sa liste de surveillance.

Modifiez la valeur d’un local Explique qu’en modifiant la valeur d’un local, chaque ligne de la fenêtre Locals a un objet associé qui fournit le nom, le type et la valeur actuelle d’un local.

Implémenter des visualiseurs de type et des visionneuses personnalisées Explique l’interface à implémenter par quel composant prendre en charge les visualiseurs de types et les visionneuses personnalisées.

Extensibilité du débogueur Visual Studio