Program control
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
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.