Share via


IDebugEngineProgram2::WatchForExpressionEvaluationOnThread

Allows (or disallows) expression evaluation to occur on the given thread, even if the program has stopped.

HRESULT WatchForExpressionEvaluationOnThread( 
   IDebugProgram2*       pOriginatingProgram,
   DWORD                 dwTid,
   DWORD                 dwEvalFlags,
   IDebugEventCallback2* pExprCallback,
   BOOL                  fWatch
);
int WatchForExpressionEvaluationOnThread( 
   IDebugProgram2       pOriginatingProgram,
   uint                  dwTid,
   uint                  dwEvalFlags,
   IDebugEventCallback2 pExprCallback,
   int                   fWatch
);

Parameters

  • pOriginatingProgram
    [in] An IDebugProgram2 object representing the program that is evaluating an expression.

  • dwTid
    [in] Specifies the identifier of the thread.

  • dwEvalFlags
    [in] A combination of flags from the EVALFLAGS enumeration that specify how the evaluation is to be performed.

  • pExprCallback
    [in] An IDebugEventCallback2 object to be used to send debug events that occur during expression evaluation.

  • fWatch
    [in] If non-zero (TRUE), allows expression evaluation on the thread identified by dwTid; otherwise, zero (FALSE) disallows expression evaluation on that thread.

Return Value

If successful, returns S_OK; otherwise, returns an error code.

Remarks

When the session debug manager (SDM) asks a program, identified by the pOriginatingProgram parameter, to evaluate an expression, it notifies all other attached programs by calling this method.

Expression evaluation in one program may cause code to run in another, due to function evaluation or evaluation of any IDispatch properties. Because of this, this method allows expression evaluation to run and complete even though the thread may be stopped in this program.

See Also

Reference

IDebugEngineProgram2

EVALFLAGS

IDebugEventCallback2

IDebugProgram2