Оценка выражений (пакет 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.