SYSDEBUG: Debugging Routine for Assembler Programs
DESCRIPTIVE NAME = GSF-ENV Debugging Routine
FUNCTION = This generalised ESTAE routine simplifies ABEND resolution by formatting important MVS control blocks in an easy-to-read fashion.
AUTHOR = Gilbert Saint-Flour
DEPENDENCIES = OS/390 R4, z/OS, DFSMS/MVS, STRING macro R510
AUTHORIZATION = NONE
RESTRICTIONS = NONE
MODULE TYPE = PROCEDURE, (Sub-Routine)
PROCESSOR = IBM Assembler H Version 2 or IBM High-Level Assembler/MVS
MODULE SIZE = 23K
ATTRIBUTES = REENTERABLE, RMODE ANY, AMODE 31, PROBLEM STATE, KEY 8
SYSDEBUG is not a system-wide debugging tool like ABEND-AID. To use it, a program must invoke it once with AMODE=31 as follows:
LOAD EP=SYSDEBUG LR R15,R0 BASSM R14,R15 invoke SYSDEBUG with AMODE31
The SYSDEBUG debugging routine may be used from JCL, without modifying the program, as follows:
//MYSTEP EXEC PGM=SYSDEBUG, // ACCT=progname, <- program name // PARM=(a,b,c,d) <- program's parm //STEPLIB DD DSN=CBTTAPE.FILE183.LOAD,DISP=SHR //SYSDEBUG DD SYSOUT=* //SYSUDUMP DD SYSOUT=*
The debugging report (written to DDN=SYSDEBUG) contains the following data:
A sample output report is available here.
SYSDEBUG contains a loop detection feature that causes a U0322 abend if the calling program consumes more that 5 seconds of CPU time without doing an I/O. This feature is inactivated when a //DBGNO322 DD is present in the step's JCL.