IDebugProcess3::Step

Causes the process to step one instruction or statement.

Note

This method should be used instead of IDebugProgram2::Step.

HRESULT Step(
   IDebugThread2* pThread,
   STEPKIND       sk,
   STEPUNIT       step,
);
int Step(
   IDebugThread2 pThread, 
   enum_STEPKIND sk, 
   enum_STEPUNIT step
);

Parameters

  • pThread
    [in] An IDebugThread2 object representing the thread being stepped.

  • sk
    [in] One of the STEPKIND values.

  • step
    [in] One of the STEPUNIT values.

Return Value

If successful, returns S_OK; otherwise returns error code.

Remarks

In case there is any thread synchronization or communication between threads, other threads in the process should run when a particular thread is stepping.

Warning Do not send a stopping event or an immediate (synchronous) event to IDebugEventCallback2::Event while handling this call; otherwise the debugger may hang.

See Also

Reference

IDebugProcess3

IDebugThread2

STEPKIND

STEPUNIT

IDebugEventCallback2::Event