Creating an interrupt to capture diagnostic information
You can use the QMF interrupt facility to gather information about a problem.
About this task
By using the interrupt facility, you can produce an abend dump or cause trace information to be displayed or written to the DSQDEBUG data set.
In TSO, the QMF interrupt handler can be activated even when a QMF command is not running.
Procedure
To interrupt QMF:
- Log on to QMF under the user ID of the user whose problem you are diagnosing.
- Re-create the problem.
- At the point at which you want to start gathering information
about the problem, create the interrupt.
For most system configurations, you can create an attention interrupt by pressing either the Attn key or a combination of the Reset and PA1 keys (or equivalent key combinations in a terminal emulation session). If these combinations do not work for you, see the appropriate information for your current system configuration to obtain more information about creating the interrupt.
The interrupt facility responds by displaying the following message:
Figure 1. QMF interrupt handler prompt 1 DSQ50546 QMF command interrupted! Clear screen and press enter.
- After the interrupt message appears, press the Clear and
Enter keys (or an equivalent key combination in a terminal emulation
session), as the message instructs you to do.
The following message appears:
Figure 2. QMF interrupt handler prompt 2 DSQ50547 QMF command interrupted! Do one of the following: ==> To continue QMF command, type 'CONT'. ==> To cancel QMF command, type 'CANCEL'. ==> To enter QMF debug, type 'DEBUG'.
- Take one of the following actions:
- Enter CONT to return control to wherever you were before you caused the interrupt, as if the interrupt never occurred.
- Enter CANCEL to stop any command that is running at the time of the interrupt. The keyboard is unlocked, and QMF awaits your next command. However, it is not always possible to cancel a command.
- Enter DEBUG to capture diagnostic information. The following sample output is in response to entering DEBUG:
Figure 3. Diagnostic information captured by entering DEBUG in response to the interrupt prompt -- OK, QMF debug entered. QMF CSECT trace is: DSQDSUPV -> DSQDSUPX -> DSQEADAP -> DSQEMAIN -> DSQEINPT -> ENDTRACE ==> To continue QMF command, type 'CONT' ==> To cancel QMF command, type 'CANCEL' ==> To abnormally terminate QMF, type 'ABEND' ==> To set QMF trace, type 'TRACEALL' or 'TRACENONE'
The trace information in the second line of this example indicates that, at the time of the interrupt, control was in CSECT DSQEINPT. Control reached this CSECT by passing successively through the CSECTs DSQDSUPV, DSQDSUPX, DSQEADAP, and DSQEMAIN.
- Enter the tracing options that you want. Respond to the
interrupt prompt panel by entering one of the following options:
- Enter CONT to return control to wherever you were before you caused the interrupt, as if the interrupt never occurred.
- Enter CANCEL to stop any command that is running at the time of interrupt. The keyboard is unlocked, and QMF awaits your next command. However, it is not always possible to cancel a command.
- Enter ABEND to abnormally terminate QMF and produce an abend dump (if a DSQUDUMP data set was allocated for the session).
- Enter TRACEALL to cause QMF to start adding the most detailed level of tracing output to the DSQDEBUG data set. Control returns to wherever it was at the time of interrupt.
- Enter TRACENONE to cause QMF to stop adding any trace output to the DSQDEBUG data set. Control returns to wherever it was at the time of interrupt.