April 1, 1981 fQR First determine the reason CMS abnormally
terminated. There are four types of CMS abnormal terminations:
1. Program Exception
control is given to the DMSITP routine whenever a hardware program
exception occurs. If a routine other than a SPIE exit routine is in
control, DMSITP issues the message DMSITP141T xxxxxxxx EXCEPTION OCCURRED AT xxxxxx IN ROUTINE xxxxxxxx
and invokes DMSABN (the abend routine). The abend code is
where x is the program exception number (0 through F).
possible programming exceptions are: o
1
2
3
4
5
6
7
8
9
A
B
C
D E F Meaning Imprecise
Operation
privileged operation
Execute
Protection
Addressinq
Specifica t ion
Decimal data
Fixed-point overflow
Fixed-point divide
Decimal overflow Decimal divide
Exponent overflow
Exponent underflow Significance Floating-point divide
2. ABEND Macro OCx, The
control is qiven to the DMSSAB routine whenever a user routine
executes the ABEND macro. The abend code specified in the ABEND
macro appears in the abnormal termination message DMSABN148T. 3. Halt Execution command (HX) Whenever the virtual machine operator signals attention and types HX, CMS terminates and types "CMS". 4. System Abend
A CMS system routine can abnormally terminate by issuing the DMSABN macro. The first three hexadecimal digits of the system abend code
type in the eMS abend message, DMSABN148T. The format of the DMSABN macro is:
r I I (label J DMSABN I I '---- code
(reg)
r r" I' IBALRII L L J,J 20 IBM VM/370 System proqrammer's
label code (reg) TYPCALL=SVC TYPCALL=BALR is any valid Assembler language label.
is the abnormal code (0 through- FFP) that appears in the DMSABN148T system termination message. is the register containing the abnermal termination
code.
specifies how control is passed to the abnormal
termination routine, DMSABN. Routines that do not
reside in the nucleus should use TYPCALL=SVC to
generate CMS SVC 203 linkage. Nucleus-resident
routines should specify TYPCALL=EALR so that a
direct branch to DMSABN is generated.
If a CMS SVC handler abnormally terminates, that routine can set an
abend flag and store an abend code in NUCON (the CMS nucleus
constant area). After the SVC handler has finished processing, the
abend condition is recognized,. The DMSABN abend routine types the
abend message, DMSABN148T, with the abend cede stored in NUCON. WHAT TO DO £MS TERMINATES: After an abend, two courses
of actIon are available in CMS. In addition, by signalling attention,
you can enter the CP command mode and use CP's debugging facilities. Two courses of action available in CMS are:
1. Issue the DEBUG command and enter the debug environment. After
using all the DEBUG subco •• ands that you wish, exit from the debug
environment. Then, either issue the RETURN command to return to DMSABN so that abend recovery will occur, cr issue the GO command
to resume processing at the point the abend occurred.
2. Issue a CMS command other than DEBUG and the abend routine, DMSABN, performs its abend recovery and then passes control to the DMSINT routine to process the command just entered.
The abend recovery function performs the follcwing: The SVC handler, DMSITS, is reinitialized, and all stacked save
areas are released.
2. "FINIS * * *" is invoked by means of SVC 202, to close all files,
and to update the .aster file directory.
3. If the EXECTOR module is in real storage, it is released.
4. All link blocks allocated by DMSSLN are freed.
5. All FCB pointers are set to zero.
6. All user storage is released.
7. The amount of system free storage which computed. This figure is compared with the amount
that is actually allocated.
8. The console input stack is purged.
be al:;"ocated is
of free storage Part 1. Debugging with VM/370 21
Previous Page Next Page