Tracing program logic
Trace the logic of your program by adding DISPLAY
statements.
For example, if you determine that the problem
is in
an EVALUATE
statement or in a set of nested IF
statements,
use DISPLAY
statements in each path to see the logic
flow. If you determine that the calculation of a numeric value is
causing the problem, use DISPLAY
statements to check
the value of some interim results.
If you use explicit scope terminators to end statements in your program, the logic is more apparent and therefore easier to trace.
To determine whether a particular routine started and finished, you might insert code like this into your program:
DISPLAY "ENTER CHECK PROCEDURE"
.
. (checking procedure routine)
.
DISPLAY "FINISHED CHECK PROCEDURE"
After you are sure that the routine works correctly,
disable the DISPLAY
statements in one of two ways:
- Put an asterisk in column 7 of each
DISPLAY
statement line to convert it to a comment line. - Put a
D
in column 7 of eachDISPLAY
statement to convert it to a comment line. When you want to reactivate these statements, include aWITH DEBUGGING MODE
clause in theENVIRONMENT DIVISION
; theD
in column 7 is ignored and theDISPLAY
statements are implemented.
Before you put the program into production, delete or disable the debugging aids you used and recompile the program. The program will run more efficiently and use less storage.