Example: USE FOR DEBUGGING
This example shows the kind of statements that are needed
to use a DISPLAY statement and a USE FOR
DEBUGGING declarative to test a program.
The DISPLAY statement writes information
to the terminal or to an output data set.
The USE FOR DEBUGGING declarative is used with a
counter to show how many times a routine runs.
Environment Division.
. . .
Data Division.
. . .
Working-Storage Section.
. . . (other entries your program needs)
01 Trace-Msg PIC X(30) Value " Trace for Procedure-Name : ".
01 Total PIC 9(9) Value 1.
. . .
Procedure Division.
Declaratives.
Debug-Declaratives Section.
Use For Debugging On Some-Routine.
Debug-Declaratives-Paragraph.
Display Trace-Msg, Debug-Name, Total.
End Declaratives.
Main-Program Section.
. . . (source program statements)
Perform Some-Routine.
. . . (source program statements)
Stop Run.
Some-Routine.
. . . (whatever statements you need in this paragraph)
Add 1 To Total.
Some-Routine-End.
The DISPLAY statement in the DECLARATIVES
SECTION issues this message every time the procedure Some-Routine runs:
Trace For Procedure-Name : Some-Routine 22
The number at the end of the message, 22, is the value
accumulated in the data item Total; it indicates
the number of times Some-Routine has run. The statements
in the debugging declarative are performed before the named procedure
runs.
You can also use the DISPLAY statement
to trace program execution and show the flow through the program.
You do this by dropping Total from the DISPLAY statement
and changing the USE FOR DEBUGGING declarative in
the DECLARATIVES SECTION to:
USE FOR DEBUGGING ON ALL PROCEDURES.
As a result, a message is displayed before each nondebugging procedure in the outermost program runs.