Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В режиме останова интегрированная среда разработки должна оценивать простые выражения, включающие несколько переменных программы. Чтобы выполнить оценку, подсистема отладки (DE) должна проанализировать и оценить выражение, введенное в одну из окон интегрированной среды разработки.
Выражения создаются с помощью метода IDebugExpressionContext2::ParseText и представлены результирующим интерфейсом IDebugExpression2.
Интерфейс IDebugExpression2 реализуется в DE и вызывает его метод EvalAsync, чтобы вернуть интерфейс IDebugProperty2 в IDE для отображения результатов вычисления выражения. IDebugProperty2::GetPropertyInfo возвращает структуру, которая используется для вставки значения выражения в окно "Контроль" или в окно "Локальные".
Пакет отладки или диспетчер отладки сеансов (SDM) вызывает IDebugExpression2::EvaluateAsync или EvaluateSync , чтобы получить интерфейс IDebugProperty2 , представляющий результат оценки.
IDebugProperty2 имеет методы, возвращающие имя, тип и значение выражения. Эта информация отображается в различных окнах отладчика.
Использование оценки выражений
Чтобы использовать оценку выражений, необходимо реализовать метод IDebugExpressionContext2::P arseText и все методы интерфейса IDebugExpression2 , как показано в следующей таблице.
| Метод | Description |
|---|---|
| EvaluateAsync | Вычисляет выражение асинхронно. |
| прерывание | Завершает асинхронную оценку выражений. |
| EvaluateSync | Вычисляет выражение синхронно. |
Синхронная и асинхронная оценка требуют реализации метода IDebugProperty2::GetPropertyInfo . Для асинхронного вычисления выражений требуется реализация IDebugExpressionEvaluationCompleteEvent2.