A hardware trace unit is integrated into a computer system that has a main
memory. The trace unit includes registers that contain information
defining a location in main memory, and has an input connection. This is
used to eavesdrop on communications in the computer system, thereby
obtaining information about the state and/or operation of the system. A
trigger mechanism then compares the information received against one or
more trigger conditions, such as whether a particular event has occurred.
Responsive to the trigger conditions being satisfied, the trace unit
generates an output record containing diagnostic information. This is
sent for storage in the main memory of the computer at the location
defined in the registers.