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.