Partager via


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

Important

Dans Visual Studio 2015, cette façon de mettre en œuvre les évaluateurs d’expressions est obsolète. Pour des informations sur l’implémentation des évaluateurs d’expressions CLR, veuillez consulter la rubrique Évaluateurs d’expressions CLR et Exemple d’évaluateur d’expressions géré.

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 langages, 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 saisies dans une fenêtre Espion doivent être évaluées et affichées. L’utilisateur peut modifier la valeur d’une variable locale en saisissant une expression dans une fenêtre Espion ou dans la fenêtre Immédiate.

Contenu de cette section

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

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 binder.

Inscrire un évaluateur d’expression indique 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 locales et des arguments locaux.

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

Modifier la valeur d’une variable locale explique que pour modifier la valeur d’une variable locale, chaque ligne de la fenêtre Locals est associée à un objet qui fournit le nom, le type et la valeur actuelle de la variable locale.

Implémenter les visualiseurs de types et les visualiseurs personnalisés explique quelle interface doit être implémentée par quel composant pour prendre en charge les visualiseurs de types et les visualiseurs personnalisés.

Extensibilité du débogueur de Visual Studio