Оценка выражений

Выражения создаются из строк, передаваемых из окон "Авто", "Контроль", "Быстрый просмотр" или "Интерпретация". При вычислении выражения создается печатаемая строка, содержащая имя и тип переменной или аргумента и его значение. Эта строка отображается в соответствующем окне интегрированной среды разработки.

Внедрение

Выражения оцениваются при остановке программы в точке останова. Само выражение представлено интерфейсом IDebugExpression2 , который представляет проанализированное выражение, готовое к привязке и оценке в контексте оценки выражений. Кадр стека определяет контекст оценки выражений, который предоставляет модуль отладки (DE), реализуя интерфейс IDebugExpressionContext2 .

Учитывая строку пользователя и интерфейс IDebugExpressionContext2, модуль отладки (DE) может получить интерфейс IDebugExpression2, передав пользовательную строку в метод IDebugExpressionContext2::P arseText. Возвращенный интерфейс IDebugExpression2 содержит проанализированное выражение, готовое к оценке.

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

Чтобы включить оценку выражений, DE должна реализовать интерфейсы IDebugExpression2 и IDebugExpressionContext2 . Для синхронной и асинхронной оценки требуется реализация метода IDebugProperty2::GetPropertyInfo .