Поделиться через


Пример реализации локальные

Ниже приведены общие сведения о Visual Studio получает локальные переменные для метода из средства оценки выражений (EE):

  1. Visual Studio вызывает обработчик отладки (DE) IDebugStackFrame2::GetDebugProperty доступ IDebugProperty2 объект, который представляет все свойства кадра стека, включая локальные переменные.

  2. IDebugStackFrame2::GetDebugProperty вызовы IDebugExpressionEvaluator::GetMethodProperty чтобы получить объект, описывающий метод, в течение которого точка останова. Почту поставщик символов (DEIDebugSymbolProviderадрес ()IDebugAddressи связыватель ()IDebugBinder).

  3. IDebugExpressionEvaluator::GetMethodProperty вызовы IDebugSymbolProvider::GetContainerField если предоставленное IDebugAddress объект, который требуется возвратить IDebugContainerField представления метода, содержащий указанный адрес.

  4. IDebugContainerField интерфейс для запрашивается IDebugMethodField интерфейс. Этот интерфейс, предоставляющий доступ к локальным переменным метода.

  5. IDebugExpressionEvaluator::GetMethodProperty создает класс с именем " ( CFieldProperty в образце), с помощью реализует IDebugProperty2 интерфейс для представления локальные переменные метода. IDebugMethodField объект размещается в этом CFieldProperty объект вместе с IDebugSymbolProvider" IDebugAddress и IDebugBinder объекты.

  6. После CFieldProperty объект инициализирован, IDebugField::GetInfo вызывает на IDebugMethodField объект, для которого необходимо получить a FIELD_INFO структура, содержащая все displayable сведения о самом методе.

  7. IDebugExpressionEvaluator::GetMethodProperty возвращает CFieldProperty объект как IDebugProperty2 объект.

  8. Вызовы Visual Studio IDebugProperty2::EnumChildren на возвращенное IDebugProperty2 объект с фильтром guidFilterLocalsPlusArgs. Возвращает IEnumDebugPropertyInfo2 объект, содержащий локальных метода. Это перечисление вводится вызовах IDebugMethodField::EnumLocals и IDebugMethodField::EnumArguments.

  9. Вызовы Visual Studio IEnumDebugPropertyInfo2::Next получить a DEBUG_PROPERTY_INFO структура для каждого локального. Эта структура содержит указатель на IDebugProperty2 интерфейс для локального.

  10. Вызовы Visual Studio IDebugProperty2::GetPropertyInfo для каждого локального получить значение и тип местня заголовок. Это сведения, которые отображаются в Локальные окна.

Содержание

Связанные разделы

  • контекст оценки
    Предоставляет аргументы, передаваемые при DE вызовет средство оценки выражений (EE).

  • MyCEE Sample
    Демонстрирует один способ реализации к созданию средство оценки выражений для языка MyC.

См. также

Другие ресурсы

Локальные отображение