An executing computer program is debugged by the use of an events table
comprising a plurality of table entries, each table entry comprising an
event description describing an event occurring during execution of the
executing computer program; a debugger description specifying a debugger
to be invoked to debug the executing computer program upon an occurrence
of the event; and debugger options to be passed to the debugger upon
invocation of the debugger. Debugging the executing computer program
comprises monitoring for the event; detecting the event; gathering event
information beyond the event description; searching the event table
responsive to the detection of the event; finding the table entry
corresponding the event; responsive to the finding of the table entry,
invoking the debugger specified by the debugger description in the table
entry corresponding the event; passing the debugger options to the
debugger; and passing the event information to the debugger. A first
table entry may be used to invoke a first debugger responsive to a first
event, and a second table entry may be used to invoke a second debugger
responsive to a second event.