IDebugEngineProgram2::WatchForExpressionEvaluationOnThread
Applies to: Visual Studio Visual Studio for Mac
Note
This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
Allows (or disallows) expression evaluation to occur on the given thread, even if the program has stopped.
Syntax
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.