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

Concepts

Execution Control and State Evaluation