Debugging Tools for Windows

Monitoring Events

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.

Events from the Target That Break into the Debugger by Default

The following events break into the debugger by default:

Events from the Target that Do Not Break into the Debugger by Default

The following events do not break into the debugger by default:

Internal Engine Changes

The following are not actual events, but are merely internal engine changes:

Build machine: CAPEBUILD