We recommend using Visual Studio 2017

Stack Frames


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 Stack Frames.

In terms of the debugger architecture, a stack frame:

  • Is an abstraction of a stack that provides the execution context of a thread. A thread always executes within a function. A stack frame holds the local variables of the function, and the arguments to it. In order to debug with Visual Studio, the language or environment being debugged must support stack frames.

  • Can both identify and describe itself, and can return the associated thread. A stack frame can also return the code context that represents the current instruction pointer, as well as the associated documentation and expression evaluation contexts.

  • Has properties that describe the name, type, and value of local variables and arguments, and which appear in various IDE debug windows.

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

Debugger Contexts
Debugger Concepts
Debug Engine