Debugging Tasks
To debug a program, it must be launched and a debug engine (DE) must be attached to it, or else the DE must be attached to a previously launched program. Once attached, the DE must generate certain startup events. In response, the debug package attempts to bind the breakpoints set in the IDE. When the program hits a bound breakpoint, it halts and waits for user input.
In This Section
Security Issues
Discusses the security steps that are needed to debug a program.Launching a Program
Provides step-by-step instructions on how to specify a DE, which calls the operating system to launch the program.Attaching Directly to a Program
Describes the process used to debug a program in a process that is already running.Sending Startup Events After a Launch
Lists the events that take place once the DE is attached to the program, until the program is at its main entry point and is ready for debugging.Control of Execution
Explains how the DE typically sends an entry-point event, a load-complete event, or a stopping event, depending on the circumstances.Binding Breakpoints
Describes how, if the user sets a breakpoint, the IDE formulates the request and prompts the debug session to create the breakpoint.Evaluating Expressions
Explains how expressions are created and what happens when an expression is evaluated.Visualizing and Viewing Data
Explains how type visualizers and custom viewers are supported by the expression evaluator (EE).
Related Sections
Debugger Concepts
Describes the main debugging architectural concepts.Debugger Components
Provides an overview of the Visual Studio debugging components, which include the DE, EE, and symbol handler (SH).Debugger Contexts
Explains how the 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.