Debugging Tools for Windows |
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
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.
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.
Headers: Defined in dbgeng.h. Include dbgeng.h.