Изменение значения локального
Внимание
В Visual Studio 2015 такая реализация вычислителя выражений была сделана нерекомендуемой. Сведения о реализации вычислителей выражений CLR см. в примере вычислителя выражений CLR и средства оценки управляемых выражений.
При вводе нового значения в поле значения окна "Локальные" пакет отладки передает строку по типу в средство оценки выражений (EE). EE вычисляет эту строку, которая может содержать простое значение или выражение, и сохраняет полученное значение в связанном локальном коде.
Это обзор процесса изменения значения локального объекта:
После ввода нового значения Visual Studio вызывает SetValueAsString в объекте IDebugProperty2 , связанном с локальным.
IDebugProperty2::SetValueAsString
выполняет следующие задачи:Вычисляет строку для создания значения.
Привязывает связанный объект IDebugField для получения объекта IDebugObject.
Преобразование значения в последовательность байт.
Вызывает SetValue , чтобы поместить в память байты значения, чтобы программа, отлаживаемая, может получить к ним доступ.
Visual Studio обновляет отображение локальных параметров (дополнительные сведения см. в разделе "Отображение локальных языков").
Эта процедура также используется для изменения значения переменной в окне контрольных значений, за исключением того, что объект
IDebugProperty2
связан со значением локального объекта, используемого вместоIDebugProperty2
объекта, связанного с самой локальной.
В этом разделе
Пример реализации изменяющихся значений использует пример MyCEE для пошагового выполнения процесса изменения значений.