Debugger contexts

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, the debug engine (DE) operates simultaneously within several distinct contexts, as follows:

  • The code context, which describes the current location in a program's execution stream.

  • The documentation context or position, which describes the current position within a source document.

  • The expression evaluation context, which describes the context in which expression evaluation will take place.

In this section

Code context Discusses code context as an address in a program's instruction stream in today's run-time architectures versus nontraditional languages, where code may not be represented by instructions, but some other means.

Document position Defines document position in Visual Studio debugging by means of an abstraction of a position in a source file as known to the IDE.

Document context Discusses what document context represents in Visual Studio debugging in relation to a source file. Also discusses how the symbol handler maps a code context to documentation context.

Expression evaluation context Provides information on an expression evaluation context in Visual Studio. For example, an expression evaluation context associated with a stack frame provides the context for evaluating local variables, method parameters, and class members.

Debug concepts Describes the main debugging architectural concepts.

Debug components Provides an overview of the Visual Studio debugging components, which include the debug engine (DE), expression evaluator (EE), and symbol handler (SH).

Debug tasks Contains links to various debugging tasks, such as launching a program and evaluating expressions.