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


Метод IDebugControl2::Evaluate (dbgeng.h)

Метод Evaluate вычисляет выражение, возвращая результат.

Синтаксис

HRESULT Evaluate(
  [in]            PCSTR        Expression,
  [in]            ULONG        DesiredType,
  [out]           PDEBUG_VALUE Value,
  [out, optional] PULONG       RemainderIndex
);

Параметры

[in] Expression

Указывает выражение для вычисления.

[in] DesiredType

Указывает требуемый тип возвращаемого значения. Возможные значения описаны в DEBUG_VALUE; с добавлением DEBUG_VALUE_INVALID, который указывает, что возвращаемый тип должен быть естественным типом выражения.

[out] Value

Получает значение выражения.

[out, optional] RemainderIndex

Получает индекс первого символа выражения, не используемого при вычислении. Если параметр RemainderIndex имеет значение NULL, эти сведения не возвращаются.

Возвращаемое значение

Этот метод также может возвращать другие значения ошибок. Дополнительные сведения см. в разделе Возвращаемые значения .

Код возврата Описание
S_OK
Метод выполнен успешно.
E_FAIL
При вычислении выражения произошла ошибка. Например, произошла синтаксическая ошибка, неопределенная переменная или исключение деления на ноль.

Комментарии

Выражения вычисляются текущим вычислителем выражений. Подсистема содержит несколько вычислителей выражений; каждый из них поддерживает свой синтаксис. Текущий вычислитель выражений можно выбрать с помощью SetExpressionSyntax.

Дополнительные сведения о доступных вычислителях выражений и их синтаксисе см. в разделе Синтаксис числовых выражений.

Если при вычислении выражения возникает ошибка, возвращающая E_FAIL, можно использовать переменную RemainderIndex , чтобы приблизительно определить, где в выражении произошла ошибка.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть dbgeng.h (включая Dbgeng.h)

См. также раздел

GetExpressionSyntax

IDebugControl

IDebugControl2

IDebugControl3

SetExpressionSyntax

SetExpressionSyntaxByName