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


Метод 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

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

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

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

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

Замечания

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

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

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

Требования

Требование Ценность
целевая платформа Настольный
заголовка dbgeng.h (include Dbgeng.h)

См. также

GetExpressionSyntax

IDebugControl

IDebugControl2

IDebugControl3

SetExpressionSyntax

SetExpressionSyntaxByName