Debugging Tools for Windows

IDebugEventCallbacks::Breakpoint

The Breakpoint callback method is called by the engine when the target issues a breakpoint exception.

HRESULT
  IDebugEventCallbacks::Breakpoint(
    IN IDebugBreakpoint *  Bp
    );

HRESULT
  IDebugEventCallbacksWide::Breakpoint(
    IN IDebugBreakpoint2 *  Bp
    );

#ifdef UNICODE
#define IDebugEventCallbacksT IDebugEventCallbacksWide
#else
#define IDebugEventCallbacksT IDebugEventCallbacks
#endif

Parameters

Bp
Specifies a pointer to the IDebugBreakpoint object corresponding to the breakpoint that was triggered.

Return Value

This method returns a DEBUG_STATUS_XXX value, which indicates how the execution of the target should proceed after the engine processes this event. For details on how the engine treats this value, see Monitoring Events.

Comments

If the breakpoint has an associated command, the engine executes that command before calling this method.

The engine will only call this method if an IDebugBreakpoint object corresponding to the breakpoint exists in the engine, and—if the breakpoint is a private breakpoint—this IDebugEventCallbacks object was registered with the client that added the breakpoint.

The engine calls this method only if the DEBUG_EVENT_BREAKPOINT flag is set in the mask returned by IDebugEventCallbacks::GetInterestMask.

Because the engine deletes the corresponding IDebugBreakpoint object when a breakpoint is removed (for example, by using RemoveBreakpoint), the value of Bp might be invalid after Breakpoint returns. Therefore, implementations of IDebugEventCallbacks should not access Bp after Breakpoint returns.

For more information about handling events, see Monitoring Events. For information about managing breakpoints, see Breakpoints.

Requirements

Headers: Defined in dbgeng.h. Include dbgeng.h.

Build machine: CAPEBUILD