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