Compartir a través de


Cambiar el valor de una variable 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 Evaluadores de expresiones CLR y Ejemplo de 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, tal como se ha escrito, al evaluador de expresiones (EE). El 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 al 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 objeto IDebugProperty2 asociado al valor del local que se usa en lugar del objeto IDebugProperty2 asociado al propio local.

En esta sección

Implementación de muestra de los valores que cambian usa el ejemplo de MyCEE para recorrer paso a paso el proceso de cambio de valores.