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.