The SVCTRACE command records information for all SVC calls. When the
trace is terminated, the information recorded up to that point is
printed at the system printer.
In addition, several CMS commands produce or print load maps. These
load maps are often used to locate storage areas while debugging
programs. DEBUG The DEBUG command provides support for debugging programs at a terminal. The virtual machine operator can stop the program at a specified
location in order to examine and alter virtual storage, registers: and
various control words. Once CMS is in the debug environment, the
virtual machine operator can issue the various DEBUG subcommands.
However, in the debug environment, all of the other CMS commands are
considered invalid.
Any DEBUG subcommand may be entered if CMS is
environment if the keyboard is unlocked. The following DEBUG subcommands:
1. No operand should be longer than eight characters.
longer than eight characters are left-justified and
the right after the eighth character.
in the debug
rules apply to
All operands
truncated on
2. The DEFINE subcommand must be used to create all entries in the DEBUG symbol table.
3. The DEBUG subcommands can be truncated. The following is a list of
all valid DEBUG subcommands and their minimum truncation. BREAK CAi CSi DEFINE DUMP GO GPR HI ORIGIN PSi RETURN SET STORE I Minimum !!Yll£g!i21l BR CAi CSW DEF DU GO GPR HI OR PSi RET
SET
ST
I One way to enter the debug environment is to issue the DEBUG command.
The Ilessage DMSDBG728I DEBUG ENTERED
appears at the terminal. Any of the DEBUG subcommands may be entered.
To continue norma-l processing, issue the RETURN subcomm-and. ihenevera program check occurs, the DMSABN routine gains control. Issue the DEBUG command at this time if you wish CMS to enter the debug environment. Part 1. Debugging with VM/370 65
Whenever a breakpoint is encountered, a program check occurs. The message DMSDBG7281 DEBUG ENTERED BREAKPOINT II AT IIIIX appears on the terminal. Follow the same procedure to enter subcommands
and resume processing as with a regular program check. An external interrupt, which occurs when the CP issued, causes CMS to enter the debug environment. DMSDBG7281 DEBUG ENTERED EXTERNAL INTERRUPT EITERNAL co.mand is
The message
appears on the console. Any of the DEBUG subcommands may be issued. To
exit from the debug environment after an external interrupt, use GO. While CMS is in the debug environment, the control words and low
storage locations contain the debug program values. The debug program saves the control words and low storage contents (X'OO' through X'100') of the interrupted routine at location I'CO'. Nucleus Load Map
Each time the CMS resident nucleus is loaded on a DASD and an IPL can be
perforaed on that DASD, a load map is produced. Save this load map. It
lists the virtual storage locations of nucleus-resident routines and
work areas. Transient modules will not be included in this load map. When debugging CMS, you can locate routines using this map. The load map aay be saved as a disk file and printed at any time. A copy of the nucleus load map is contained on the system with file
identification of 'filename NUCMAP.' To determine the filename, issue
the command LISTFILE * NUCMAP *
To obtain a copy of the current nucleus load map, issue the command PRINT filename NUCMAP filemode Figure 11 shows a sample CMS load map. Notice that the DEBUG work
area (DBGSECT) and DKSINM module have been located.
66 IBM VM/370 System Programmer's Guide
Previous Page Next Page