Debugging Tools for Windows |
For an overview of events in the debugger engine, see Events.
Events occurring in a target or the debugger engine may be monitored using the IDebugEventCallbacks interface. An IDebugEventCallbacks object may be registered with a client using SetEventCallbacks. Each client can only have at most one IDebugEventCallbacks object registered with it.
When an IDebugEventCallbacks object is registered with a client, the engine will call the object's IDebugEventCallbacks::GetInterestMask to determine which events the object is interested in. Only events in which the object is interested will be sent to it.
For each type of event, the engine calls a corresponding callback method on IDebugEventCallbacks. For events from the target, the DEBUG_STATUS_XXX value returned from these calls specifies how the execution of the target should proceed. The engine collects these return values from each IDebugEventCallbacks object it calls and acts on the one with the highest precedence.
The following events break into the debugger by default:
The following events do not break into the debugger by default:
The following are not actual events, but are merely internal engine changes: