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


IDebugEngineProgram2::WatchForExpressionEvaluationOnThread

Позволяет (или запрещено) вычисление выражений выполняться в данном потоке, даже если программа остановлена.

Синтаксис

int WatchForExpressionEvaluationOnThread( 
   IDebugProgram2       pOriginatingProgram,
   uint                  dwTid,
   uint                  dwEvalFlags,
   IDebugEventCallback2 pExprCallback,
   int                   fWatch
);

Параметры

pOriginatingProgram
[in] Объект IDebugProgram2 , представляющий программу, которая оценивает выражение.

dwTid
[in] Указывает идентификатор потока.

dwEvalFlags
[in] Сочетание флагов из перечисления EVALFLAGS , указывающее способ выполнения оценки.

pExprCallback
[in] Объект IDebugEventCallback2 , используемый для отправки событий отладки, происходящих во время вычисления выражений.

fWatch
[in] Если значение не равно нулю (TRUE), разрешает вычисление выражений в потоке, определяемом dwTidпо; в противном случае — ноль (FALSE) запрещает вычисление выражений в этом потоке.

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

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

Замечания

Когда диспетчер отладки сеанса (SDM) запрашивает программу, определяемую pOriginatingProgram параметром, для вычисления выражения, он уведомляет все остальные подключенные программы путем вызова этого метода.

Оценка выражений в одной программе может привести к выполнению кода в другой из-за оценки функций или оценки любых IDispatch свойств. Из-за этого этот метод позволяет вычислению выражений выполняться и завершиться, даже если поток может быть остановлен в этой программе.

См. также