How to Use VM/370 Facilities to Debug Once the problem and the area where it occurs are identified, you can
gather the information needed to determine the cause of the problem. The
type of information you want to look at varies with the type of problem.
The tools used to gather the information vary depending upon the area in
which the problem occurs. For example, if the problem is a loop
condition, you will want to examine the PSW. For a CP loop, you have to
use the operator's console to display the PSW, but for a virtual machine
loop you can display the PSW via the CP DISPLAY command. The following sections describe specific debugging procedures for the
various error conditions. The procedures will tell you what to do and
what debug tool to use. For example, the procedure may say dump storage
using the CP DUMP command. The procedure will not tell you how to use
the debug tool. Refer to the "CP Commands to Debug the Virtual Machine" and "CMS Debugging Commands" sections for a detailed description of each
debug tool, including how to invoke it.
Three types of abnormal terminations (ABEND) can occur on V8/370: CP abends, CMS abends, or virtual machine abends. The following
description provides guidelines for debugging each type of ABEND. When the 'M/370 Control Program abnormally terminates, a dump is taken.
This dump can be directed to tape or printer, cr dynamically allocated
to a direct access storage device. The output device for a CP abend dump is specified by the CP SET command. See the "Abend Dumps" section for a
description of the SET and VMFDUMP commands. Use the dump to determine why the control program terminated and then
determine how to correct the condition. See the "Reading CP Abend Dumps" discussion for detailed information on reading a CP abend dump. REASON FOR THE ABEND: CP will terminate and take an abnormal termIriation dump under-three conditions: 1. Program Check in CP Examine the PROPSi and INTPR fields in the prefix storage area (PSA) to determine the failing module.
2. Module Issuing an SVC 0 Examine the SVC old PSW (SVCOPSW) and abend code (CPABEND) fields
in the Prefix Storage Area to determine the module that issued the SVC 0 and the reason it was issued. CPABEND contains an abnormal termination code. The first three
characters identify the failing module (fer example, abend code TRCOOl indicates DMKTRC is the failing module).
18 IEH iM/37C System Plugrammer=s Guide
Page of GC20-1S07-7 As Updated April 1, 19S1 by TNL GN25-0S29 3. Operator Pressinq SYSTEM RESTART Button on Processor Console
Examine the old PSi at location X'OS' to find the location of the
instruction that was executing when the operator pressed SISTEK RESTART. The operator presses when CP- is in a
disabled wait state or loop. The conditions that cause an abnormal termination of an
attached processor configuration are the same as those that cause a
uniprocessor configuration to abnormally terminate. bQ! The information in low storage specifies the
status of the system at the time CP terminated. Status information is
stored in the PSA. Iou should be able to tell the module that was
executing by looking at the PSA. Refer to the appropriate save (SAVEAREA# BALRSAVE, or FREESAVE) to see how that module started to
execute. The PSA is described in the 199if-publication. Examine the real and virtual control blocks to find the status of I/O operations. Fiqure 9 shows the relationship of CP Control Blocks.
Examine the CP internal trace This table can be extremely
helpful in determining the events that preceded the abend. The "CP Internal Trace Table" description tells you how to use the trace table.
The values in the general registers can help you to locate the
current IOBLOK and VMBLOK and the save area. Refer to "Reading CP Abend
Dumps" for detailed information on the contents of the general register-s. If the program check old PSi (PROPSW) or the SVC old PSW (SVCOPSW) points to an address beyond the end of the resident nucleus, the module
that caused the abend is a pageable module. Refer to "Reading CP Abend
Dumps" to find out how to identify that pageable module. Use the CP load
map that was created when the VM/370 system was generated to find the
address of the end of the resident nucleus. When CMS abnormally terminates, the following error message appears on
-the terminal: DMSABN14ST SYSTEM ABEND xxx CALLED FROM yyyyyy wher-e xxx is the abend code and yyyyyy is the address of the instruction
causing the abend. The DMSABN module issues this message. Then, CKS waits for a command to be entered from the terminal.
Because CMS is an interactive system, you will probably want to use
its debug facilities to examine status. You may be able to determine the
cause of the abend without taking a dump.
The d.ebug program is located in the resident nucleus of CMS and has
its own save and work areas. Because the debug program itself does not
alter the status of the system, you can use its options knowing that
routines and data cannot be overlaid unless you specifically request it.
Likewise, you can use the CP commands in debugging knowing that you
cannot inadvertently overlay storaqe because the CP and eMS storage
areas are completely separate. Part 1. Debugging with VM/370 19
Previous Page Next Page