Изменение значения локального

Важно!

В Visual Studio 2015 такая реализация вычислителя выражений была сделана нерекомендуемой. Сведения о реализации вычислителей выражений CLR см. в примере вычислителя выражений CLR и средства оценки управляемых выражений.

При вводе нового значения в поле значения окна "Локальные" пакет отладки передает строку по типу в средство оценки выражений (EE). EE вычисляет эту строку, которая может содержать простое значение или выражение, и сохраняет полученное значение в связанном локальном коде.

Это обзор процесса изменения значения локального объекта:

  1. После ввода нового значения Visual Studio вызывает SetValueAsString в объекте IDebugProperty2 , связанном с локальным.

  2. IDebugProperty2::SetValueAsString выполняет следующие задачи:

    1. Вычисляет строку для создания значения.

    2. Привязывает связанный объект IDebugField для получения объекта IDebugObject.

    3. Преобразование значения в последовательность байт.

    4. Вызывает SetValue , чтобы поместить в память байты значения, чтобы программа, отлаживаемая, может получить к ним доступ.

  3. Visual Studio обновляет отображение локальных параметров (дополнительные сведения см. в разделе "Отображение локальных языков").

    Эта процедура также используется для изменения значения переменной в окне контрольных значений, за исключением того, что объект IDebugProperty2 связан со значением локального объекта, используемого вместо IDebugProperty2 объекта, связанного с самой локальной.

В этом разделе

Пример реализации изменяющихся значений использует пример MyCEE для пошагового выполнения процесса изменения значений.