Debugger Concepts

Note

This article applies to Visual Studio 2015. 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

To build on the Visual Studio debug package, you need to be familiar with the architectural concepts used in designing the package.

In This Section

Debug Session
Explains the role of a session in the debugging architecture.

Servers
Defines what a server is in terms of debugging architecture, in both abstract and physical terms.

Port Suppliers
Defines what a port supplier is in terms of debugging architecture.

Ports
Defines what a port is in terms of debugging architecture.

Processes
Defines what a process is in terms of debugging architecture.

Program Nodes
Defines a program node in terms of debugging architecture, including how it can identify itself and the process it is running in.

Programs
Defines a program in terms of debugging architecture.

Threads
Defines the characteristics of threads in terms of debugging architecture.

Stack Frames
Defines a stack frame in terms of debugging architecture. A stack frame is an abstraction of a stack that provides the execution context of a thread.

Modules
Defines a module, in terms of debugging architecture, as a physical container of code, such as an executable file or a DLL.

Breakpoints
Defines the three types of breakpoints—pending, bound, and error—in terms of debugging architecture.

Debugger Contexts
Explains how the debug engine (DE) operates simultaneously within code, documentation, and expression evaluation contexts. Describes, for each of the three contexts, the location, position, or evaluation relevant to it.

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

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