Compartir a través de


Escritura de un evaluador de expresiones de Common Language Runtime

Importante

En Visual Studio 2015, esta forma de implementar evaluadores de expresiones está en desuso. Para obtener información sobre cómo implementar evaluadores de expresiones CLR, vea Evaluadores de expresiones CLR y Ejemplo de evaluador de expresiones administradas.

El evaluador de expresiones (EE) es la parte de un motor de depuración (DE) que controla la sintaxis y la semántica del lenguaje de programación que produjo el código que se está depurando. Las expresiones deben evaluarse dentro del contexto de un lenguaje de programación. Por ejemplo, en algunos lenguajes, la expresión "A+B" significa "la suma de A y B". En otros lenguajes, la misma expresión podría significar "A o B". Por lo tanto, se debe escribir un EE independiente para cada lenguaje de programación que genere código de objeto que se vaya a depurar en el IDE de Visual Studio.

Algunos aspectos del paquete de depuración de Visual Studio deben interpretar el código en el contexto del lenguaje de programación. Por ejemplo, cuando la ejecución se detiene en un punto de interrupción, deben evaluarse y mostrarse las expresiones que el usuario haya escrito en una ventana Inspección. El usuario puede cambiar el valor de una variable local escribiendo una expresión en una ventana Inspección o en la ventana Inmediato.

En esta sección

Idioma común en tiempo de ejecución y evaluación de expresiones explica que cuando integra un lenguaje de programación de su propiedad en el IDE de Visual Studio, escribir una EE capaz de evaluar expresiones en el contexto del lenguaje de su propiedad le permite compilar en un lenguaje intermedio de Microsoft (MSIL) sin escribir un motor de depuración.

Arquitectura del evaluador de expresiones describe cómo implementar las interfaces del EE necesarias y llamar al proveedor de símbolos (SP) del idioma común en tiempo de ejecución y las interfaces de enlazador.

Registro de un evaluador de expresiones indica que el EE debe registrarse como generador de clases con el idioma común en tiempo de ejecución y los los entornos en tiempo de ejecución de Visual Studio.

Implementación de un evaluador de expresiones describe cómo el proceso de evaluación de una expresión incluye el motor de depuración (DE), el proveedor de símbolos (SP), el objeto de enlazador y el evaluador de expresiones (EE).

Mostrar variables locales describe cómo, cuando la ejecución se detiene, el paquete de depuración llama al DE para obtener una lista de variables y argumentos locales.

Evaluar una expresión de la ventana Inspección documenta cómo el paquete de depuración de Visual Studio llama al DE para determinar el valor actual de cada expresión en su lista de reproducción.

Cambiar el valor de un local explica que al cambiar el valor de un local, cada línea de la ventana Locales tiene un objeto asociado que proporciona el nombre, el tipo y el valor actual de un local.

Implementación de visualizadores de tipos y visores personalizados explica qué interfaz debe implementarse con qué componente para admitir visualizadores de tipos y visores personalizados.

Extensibilidad del depurador de Visual Studio