Breakpoints (Visual Studio SDK)


This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, use the version selector at the top left. We recommend upgrading to Visual Studio 2019. Download it here

There are three types of breakpoints: pending, bound, and error.

A pending breakpoint:

  • Is an abstraction that contains all the information needed to bind a breakpoint to one or more code contexts in one or more programs. Each time a program being debugged cause code to load, the debug engine checks all pending breakpoints to see if they can be bound.

    A pending breakpoint itself never binds to code, but rather collects and is said to contain all the bound breakpoints that it generates.

  • Is represented by an IDebugPendingBreakpoint2 interface.

    A bound breakpoint:

  • Is an abstraction for a breakpoint associated with or bound to a single code context. Each bound breakpoint is generated in response to a pending breakpoint. A pending breakpoint can, however, generate more than one bound breakpoint.

    When code is unloaded, a bound breakpoint can be unbound and discarded.

  • Is represented by an IDebugBoundBreakpoint2 interface.

    An error breakpoint:

  • Is an abstraction for describing an error in attempting to bind a pending breakpoint to a code context. An error breakpoint describes either an error in location or in the breakpoint expression itself. For more information, see Binding Breakpoints.

    The breakpoint error can be either an error or a warning.

  • Is represented by an IDebugErrorBreakpoint2 interface.

See Also

Debugger Concepts
Code Context