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


Оценка выражений (пакет SDK для отладки Visual Studio)

В режиме останова интегрированная среда разработки должна оценивать простые выражения, включающие несколько переменных программы. Чтобы выполнить оценку, подсистема отладки (DE) должна проанализировать и оценить выражение, введенное в одну из окон интегрированной среды разработки.

Выражения создаются с помощью метода IDebugExpressionContext2::P arseText и представлены результирующий интерфейс IDebugExpression2 .

Интерфейс IDebugExpression2 реализуется de de и вызывает его метод EvalAsync для возврата интерфейса IDebugProperty2 в интегрированную среду разработки, чтобы отобразить результаты оценки выражений в интегрированной среде разработки. IDebugProperty2::GetPropertyInfo возвращает структуру, которая используется для вставки значения выражения в окно "Контроль" или в окно "Локальные".

Пакет отладки или диспетчер отладки сеансов (SDM) вызывает IDebugExpression2::EvaluateAsync или EvaluateSync , чтобы получить интерфейс IDebugProperty2 , представляющий результат оценки. IDebugProperty2 имеет методы, возвращающие имя, тип и значение выражения. Эта информация отображается в различных окнах отладчика.

Использование вычисления выражений

Чтобы использовать оценку выражений, необходимо реализовать метод IDebugExpressionContext2::P arseText и все методы интерфейса IDebugExpression2 , как показано в следующей таблице.

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

Синхронная и асинхронная оценка требуют реализации метода IDebugProperty2::GetPropertyInfo . Для асинхронного вычисления выражений требуется реализация IDebugExpressionEvaluationCompleteEvent2.

См. также