The AUDIT function permits the logging of the addresses of executed branch instructions so that, if necessary, the execution sequence of the program involved can subsequently be reconstructed. Not only can this be used to log execution of the user’s own task, but it is also possible to activate AUDIT in another task which, for example, is in a loop or is running as a batch task.
There are two types of AUDIT functions:
hardware AUDIT
linkage AUDIT
In contrast to the hardware AUDIT function, which stores in an AUDIT table the source address for every branch executed, the linkage AUDIT function stores the target address in an AUDIT table each time certain branch or load commands are executed. Separate tables are created for the hardware AUDIT and linkage AUDIT functions. The header line indicates the relevant function when the table is output.
The hardware AUDIT and linkage AUDIT can be activated independently of one another. The branch addresses of a process in the user’s own task (e.g. contingency process), the entire run of one task or all the tasks of the current session and, in the case of the linkage AUDIT, the branch addresses of a processor can be logged.
The hardware and linkage AUDITs can be prevented or allowed for a complete session by setting the parameter AUDALLOW=YES/NO in the startup parameter service, but this can only be done for both AUDITs together. Setting the parameter AUDALLOW=NO will also automatically disable any linkage AUDIT that may have been enabled for a local processor.
The AUDIT function is offered at command level (see the following sections and the “Commands” manual [8]) and as a macro (AUDIT, see the “Executive Macros” manual [4]).
Hardware and linkage AUDITs can also be allowed or prevented on a user or task basis via the commands ADD-USER, MODIFY-USER-ATTRIBUTES and MODIFY-TEST-OPTIONS.
See also the “Commands” manual [8].
AUDIT=*PARAMETERS(...) | |||||||||||||
*PARAMETERS(...) | |||||||||||||
| | HARDWARE-AUDIT = *UNCHANGED/ *NOT-ALLOWED/ *ALLOWED |
The parameter *UNCHANGED is not valid for the ADD-USER command.
Any attempts to call a hardware or linkage AUDIT without the required permission arerejected with either a return code (macro call) or a message (command).
The x86 servers lack the firmware requirements to trace branches in programs, so the hardware AUDIT is not available. The commands HOLD-HARDWARE-AUDIT, RESUME-HARDWARE-AUDIT, SHOW-HARDWARE-AUDIT, START-HARDWARE-AUDIT and STOP-HARDWARE-AUDIT are rejected with the message IDA0020
. Macro calls for the hardware AUDIT return with error code X'00000000'. Note, however, that facilities to analyze TU programs with address stops and runtime tracing are also offered by the product AID.
See the “AID” manual [1] for details.