Program control

In Visual Studio debugging, all of the following stepping and continuing routines occur at the program level:

  • Setting the next statement, that is, setting your computer to the next instruction to be executed in a particular frame environment

  • Executing, that is, continuing to exit out of stepping mode

  • Stepping to the next instruction

  • Continuing with the current stepping mode

  • Suspending the threads contained by the program

  • Resuming the threads contained by the program

Note

Viewing the call stack is implemented on the thread level. To enumerate the frame information when viewing the call stack for a thread, you must implement all the methods of the IEnumDebugFrameInfo2 interface.

Methods of program control

The following table shows the methods of IDebugProgram2 that must be implemented for a minimally functional debug engine (DE) and execution control.

Method Description
IDebugProgram2::Execute Continues running all threads contained by a program from a stopped state. Required for execution control.
IDebugProgram2::Continue Continues running all threads contained by a program from a stopped state. Required for execution control.
IDebugProgram2::Step Performs a step on the given thread. Continues running all other threads contained by the program. Required for execution control.

For multithreaded programs, you must also implement the IDebugProgram2::EnumThreads method and all the methods of the IEnumDebugThreads2 interface.

See also