Stack frames

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 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 and 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.

See also