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 una EE independiente para cada lenguaje de programación que genere código de objeto que se va 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, las expresiones que el usuario haya escrito en una ventana Inspección deben evaluarse y mostrarse. 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

Common Language Runtime y la evaluación de expresiones Explica que cuando se integra el lenguaje de programación propietario en el IDE de Visual Studio, escribir una EE capaz de evaluar expresiones en el contexto del lenguaje propietario 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 EE necesarias y llamar al proveedor de símbolos de Common Language Runtime (SP) e interfaces de enlazador.

Registrar un evaluador de expresiones Indica que la EE debe registrarse como generador de clases tanto con Common Language Runtime como con entornos de tiempo de ejecución de Visual Studio.

Implementar 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 ventana de inspección Document 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 Variables locales tiene un objeto asociado que proporciona el nombre, el tipo y el valor actual de un local.

Implementar visualizadores de tipos y visores personalizados Explica qué interfaz debe implementarse mediante qué componente admitir visualizadores de tipos y visores personalizados.

Extensibilidad del depurador de Visual Studio