We recommend using Visual Studio 2017



The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at Threads.

In terms of the debugger architecture, a thread:

  • Is the fundamental unit of computation. A thread sequentially executes its instructions within the context of a single call stack, moving from one code context to the next.

  • Can identify itself and the program it is running in, and can be named, suspended, and resumed. A thread can also enumerate its associated stack frames and, under some conditions, can be moved to another stack frame. Given the context of a stack frame, a thread can return its associated logical thread, if any. A thread has properties, such as a suspend count, that can be displayed in the Threads window of the IDE.

  • Is represented by an IDebugThread2 interface, typically created by a debug engine (DE) or virtual machine as a consequence of executing a program.

Stack Frames
Debug Engine
Debugger Concepts
Session Debug Manager