Program control

Applies to: yesVisual Studio noVisual 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

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