CICS exception tracing
CICS® exception tracing is always done by CICS when it detects an exception condition. The sorts of exception that might be detected include bad parameters on a domain call, and any abnormal response from a called routine. The aim is “first failure data capture”, to record data that might be relevant to the exception as soon as possible after it has been detected.
CICS uses a similar mechanism for both exception tracing and “normal” tracing. Exception trace entries are made from specific points in CICS code, and data is taken from areas that might provide information about the cause of the exception. The first data field in the trace entry is usually the parameter list from the last domain call, because this can indicate the reason for the exception.
The exception trace points do not have an associated “level” attribute, and trace calls are only ever made from them when exception conditions occur.
Exception trace entries are always written to the internal trace table, even if no trace destinations at all are currently STARTED. That is why there is always an internal trace table in every CICS region, to make sure there is always somewhere to write exception trace entries. If the other trace destinations are STARTED, the exception trace entries are written there, as well.
- Ensure that special tracing has not been specified for any task.
- Set the main system trace flag off.
- Set the auxiliary trace status to STARTED, and the auxiliary trace data set and the auxiliary switch status to whatever values you want.
Exception traces are now made to an auxiliary trace data set, but there is no other tracing overhead.
The
format of an exception trace entry is almost identical to that of
a normal trace entry. However, you can identify it by the eye-catcher *EXC*
in
the header.