March 30, 1979 When the AMSERV command in the EXEC is executed, the request for the
tape ddname is satisfied immediately, by the response stacked with the &STACK statement.
If you are executing a command that accepts multiple response lines,
you have to stack a null line as follows: &STACK C D &STACK DLBL MULTFILE B !Qte: You can use the &BEGSTACK control statement to stack a series of
responses in an EXEC, but you must use &STACK to stack a null line. 210 IBM VM/370 CMS User's Guide
Section 11. How VM/370 Can Help You Debug
Your Programs
Debugging is a critical part of the prograa development process. When you encounter problems executing application programs or when you want
to test new lines of code, you can use a variety of CP and CftS debugging commands and techniques to examine your program while it is executing. You can interrupt the execution of a program to examine and change
your general registers, storage areas, or control words such as the program status word (PSi), and then continue Also, yon can
trace the execution of a program closely, so you can see where branches
are being taken and when supervisor calls or I/O interruptions occur.
In many cases, you may never need to look at a dump of a program to
identify a problem.
Preparing to Debug
Before beginning to debug a program# you should have a current program
listing for reference. When you use Vft/310 to debug a program, you can monitor program execution, instruction by instruction, so you must have
an accurate list of instruction addresses and addresses of program
storage areas. You can obtain a listing of your program by using the
PRINT co:mand to print the LISTING file created by the assembler or
compiler. To determine the virtual storage locations of program entry
points, use the LOAD MAP file created by the LOAD and INCLUDE commands. If you are a CMS/DOS user, use the linkage editor map produced by the DOSLKED command.
If the program that you are debugging creates printed or punched
output and you will be executing the program repeatedly, you may not
wish all of the output printed or punched. You should place your
printer or punch in a hold status, so that any files spooled to these
devices are not released until you specifically request it:
cp spool printer hold
cp spool punch hold When you are finished debugging you can use the CP QUERY command to see
what files are being held and then you can select which files you may want to purge or release.
When a Program Abends
The most common problem you might encounter is an abnormal termination
resulting from a program interruption. When a program running in a CMS virtual machine abnormally terminates (abends), you receive, at your
terminal, the message: DMSITP141T exception EXCEPTION OCCURRED AT address IN ROUTINE name
and your virtual machine is returned to the CMS environment. From the
message you can determine the type of exception (program check,
operation, specification, and so on), and, often, the instruction
address in your program at which the error occurred.
Section 11. How V8/310 Can Help You Debug Your programs 211
Previous Page Next Page