Halting on a PL/I line only if a condition is true

Often a particular part of your program works fine for the first few thousand times, but it fails under certain conditions. You don't want to just set a line breakpoint because you will have to keep entering GO.

Example: sample PL/I program for debugging

For example, in PLICALC you want to stop at the division selection only if the divisor is 0 (before the exception occurs). Set the breakpoint like this:
AT 31 DO; IF NUM ^= 0 THEN GO; END;
Line 31 is the statement labeled  CALC2 . The command causes z/OS® Debugger to stop at line 31. If the value of NUM is not 0, the program continues. The command causes z/OS Debugger to stop on line 31 only if the value of NUM is 0.