Monitoring components that provide monitors for computer processes are
disclosed, including a monitoring component that provides multiple monitors that
may be selectively activated for a particular process where each monitor is responsive
to a different type of event that signifies a defect. The monitoring component
provides monitors including a debugger monitor, window monitor, a hang monitor,
and a timeout monitor that may individually or collectively be activated for a
process. A Remote Monitoring component is disclosed that consolidates control for
multiple monitoring components instantiated for multiple processes on one computer
where each monitoring component has one or more monitors that are activated. A
Remote Monitor Client component is also disclosed and consolidates control for
multiple remote monitoring components that are instantiated on multiple computers
to control monitoring components attached to the distributed processes of one or
more applications.