IBM DebugTool中巧用GOTO调试程序

最近接触IBM DebugTool比较多,再说一个在mainframe上面调试COBOL或者PL/I程序的技巧吧。
经常在用IBM DebugTool或者DTCN调试程序的时候,造测试数据很不容易。如果调试过程中发现这次数据没有造成功,我们没有必要每次都退出全部程序重新造数据,可以巧妙地利用“GOTO”语句,随心所欲地在程序里面跳转。
比如下面这一个程序段,在调试过程中我们可以在Call黑盒子程序BLACKBOX的前后都设置一个断点,即9178行以及9202行都设置一个断点,如果我们发现程序跑到了9202行但是返回码不是我们想要的结果,那么运行“GOTO 9178” 即可重新回到Call黑盒子之前,无限反复尝试,重新造数据,直到成功!

SOURCE: TESTPGM1 --1----+----2----+----3----+----4----+----5 LINE: 9178 OF 15895
0020  01 WS-FIELDS.
0021  05 WS-CALLED-PGM ...
more ...

IBM DebugTool的Source Identification Panel

IBM DebugTool,在debug过程中可以按PF4键,或者输入命令:

SOURCE or LIST

这时就会显示Source Identification Panel面板,在这里即可得知您当前正在debug的所有程序(Compile Unit)的详细路径。知道了它们都是从哪一个loadlib取到的,这确实对调试很有帮助。

                 Source Identification Panel                                 
Command ===>                                                                  

Compile Unit              Listing/Source File                          Display
------------------------- -------------------------------------------- -------
TESTPGM1                   IBMUSER.TEST.LOAD.LIB1(TETPGM1)                Y  
TESTPGM2                   IBMUSER.TEST.LOAD.LIB2(TETPGM2)                Y 
TESTPGM3                   IBMUSER.TEST.LOAD.LIB3(TETPGM3 ...
more ...