IDebugExpression2

Этот интерфейс представляет проанализированное выражение, готовое к привязке и оценке.

Синтаксис

IDebugExpression2 : IUnknown

Примечания для разработчиков

Модуль отладки (DE) реализует этот интерфейс для представления синтаксического выражения, готового к оценке.

Заметки для вызывающих абонентов

Вызов ParseText возвращает этот интерфейс. GetExpressionContext возвращает интерфейс IDebugExpressionContext2 . Эти интерфейсы доступны только при приостановке отладки программы и доступности кадра стека.

Методы в порядке таблицы Vtable

В следующей таблице показаны методы IDebugExpression2.

Метод Description
EvaluateAsync Вычисляет это выражение асинхронно.
Abort Завершает асинхронную оценку выражений.
EvaluateSync Вычисляет это выражение синхронно.

Замечания

Когда программа остановлена, диспетчер отладки сеанса (SDM) получает кадр стека из DE с вызовом EnumFrameInfo. Затем SDM вызывает GetExpressionContext, чтобы получить интерфейс IDebugExpressionContext2. За этим следует вызов ParseText для создания IDebugExpression2 интерфейса, представляющего вычисляемое выражение синтаксического анализа.

SDM вызывает либо EvaluateSync , либо EvaluateAsync , чтобы фактически оценить выражение и создать значение.

В реализации DE использует функцию COM для создания экземпляра вычислителя выражений IDebugExpressionContext2::ParseTextи получения интерфейса IDebugExpressionEvaluator (см. пример в интерфейсеIDebugExpressionEvaluator).CoCreateInstance Затем de de вызывает Parse для получения интерфейса IDebugParsedExpression . Этот интерфейс используется в реализации IDebugExpression2::EvaluateSync и IDebugExpression2::EvaluateAsync для выполнения оценки.

Requirements

Заголовок: msdbg.h

Пространство имен: Microsoft.VisualStudio.Debugger.Interop

Сборка: Microsoft.VisualStudio.Debugger.Interop.dll

См. также