Пример реализации локальные
Ниже приведены общие сведения о Visual Studio получает локальные переменные для метода из средства оценки выражений (EE):
Visual Studio вызывает обработчик отладки (DE) IDebugStackFrame2::GetDebugProperty доступ IDebugProperty2 объект, который представляет все свойства кадра стека, включая локальные переменные.
IDebugStackFrame2::GetDebugProperty вызовы IDebugExpressionEvaluator::GetMethodProperty чтобы получить объект, описывающий метод, в течение которого точка останова. Почту поставщик символов (DEIDebugSymbolProviderадрес ()IDebugAddressи связыватель ()IDebugBinder).
IDebugExpressionEvaluator::GetMethodProperty вызовы IDebugSymbolProvider::GetContainerField если предоставленное IDebugAddress объект, который требуется возвратить IDebugContainerField представления метода, содержащий указанный адрес.
IDebugContainerField интерфейс для запрашивается IDebugMethodField интерфейс. Этот интерфейс, предоставляющий доступ к локальным переменным метода.
IDebugExpressionEvaluator::GetMethodProperty создает класс с именем " ( CFieldProperty в образце), с помощью реализует IDebugProperty2 интерфейс для представления локальные переменные метода. IDebugMethodField объект размещается в этом CFieldProperty объект вместе с IDebugSymbolProvider" IDebugAddress и IDebugBinder объекты.
После CFieldProperty объект инициализирован, IDebugField::GetInfo вызывает на IDebugMethodField объект, для которого необходимо получить a FIELD_INFO структура, содержащая все displayable сведения о самом методе.
IDebugExpressionEvaluator::GetMethodProperty возвращает CFieldProperty объект как IDebugProperty2 объект.
Вызовы Visual Studio IDebugProperty2::EnumChildren на возвращенное IDebugProperty2 объект с фильтром guidFilterLocalsPlusArgs. Возвращает IEnumDebugPropertyInfo2 объект, содержащий локальных метода. Это перечисление вводится вызовах IDebugMethodField::EnumLocals и IDebugMethodField::EnumArguments.
Вызовы Visual Studio IEnumDebugPropertyInfo2::Next получить a DEBUG_PROPERTY_INFO структура для каждого локального. Эта структура содержит указатель на IDebugProperty2 интерфейс для локального.
Вызовы Visual Studio IDebugProperty2::GetPropertyInfo для каждого локального получить значение и тип местня заголовок. Это сведения, которые отображаются в Локальные окна.
Содержание
Реализация GetMethodProperty
Описывается реализация IDebugExpressionEvaluator::GetMethodProperty.Перечисление Locals
Описывает, как отладчик (DE) вызывает для перечисления локальные переменные или аргументы.Получение локальных свойств
Описывает, как DE " совершает для получения имени, типа и значения одного или нескольких локальные переменные.Получение локальные значения
Описывает получить значение локального объекта, требующего служб связывателя, заданного контекстом оценки.Вычисление Locals
Объясняет, как локальные переменные вычисляются.
Связанные разделы
контекст оценки
Предоставляет аргументы, передаваемые при DE вызовет средство оценки выражений (EE).MyCEE Sample
Демонстрирует один способ реализации к созданию средство оценки выражений для языка MyC.