Cambiar el valor de un local

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, consulte Ejemplo de evaluador de expresiones CLR y Evaluador de expresiones administradas.

Cuando se escribe un nuevo valor en el campo de valor de la ventana Variables locales , el paquete de depuración pasa la cadena, como se escribe, al evaluador de expresiones (EE). Ee evalúa esta cadena, que puede contener un valor simple o una expresión, y almacena el valor resultante en el local asociado.

Esta es una introducción al proceso de cambio del valor de un local:

  1. Después de que el usuario escriba el nuevo valor, Visual Studio llama a SetValueAsString en el objeto IDebugProperty2 asociado a la configuración local.

  2. IDebugProperty2::SetValueAsString realiza las tareas siguientes:

    1. Evalúa la cadena para generar un valor.

    2. Enlaza el objeto IDebugField asociado para obtener un objeto IDebugObject.

    3. Convierte el valor en una serie de bytes.

    4. Llama a SetValue para colocar los bytes del valor en la memoria para que el programa que se depura pueda acceder a ellos.

  3. Visual Studio actualiza la pantalla Variables locales (consulte Visualización de variables locales para obtener más información).

    Este procedimiento también se usa para cambiar el valor de una variable en la ventana Inspección , excepto que es el IDebugProperty2 objeto asociado al valor de la configuración local que se usa en lugar del IDebugProperty2 objeto asociado al propio entorno local.

En esta sección

Implementación de ejemplo de valores cambiantes Usa el ejemplo de MyCEE para recorrer paso a paso el proceso de cambio de valores.