IBM Debug Tool使用

关于IBM DebugTool的一些介绍,请参照我的另一篇博文:Debug Tool for z/OS,这里呢,我是想说说一般我们用IBM Debug Tool来调试PL/I 或者COBOL程序的时候都有哪些命令或者说按键可以用,比如说设置断点,运行至断点处,监视变量值啊什么的这种一般不管什么程序的调试都会用到的知识。当然,这本身很简单,写在这里只是为了让新人更快的学会使用,基本上10分钟搞定的那种,这样就节省了大家的时间了。
先上个IBM DebugTool的截图:

Debug tool screenshot

可以看到,最上面一行显示了当前debug的程序名字PRGM002以及所用的语言PL/I,接着是命令行COMMAND,所有的调试命令都在这一行输入。然后是变量监视区域(MONITOR),源程序区(SOURCE)以及调试日志(LOG)区域。Debug Tool遵循“七上八下”原则,也就是F7向上翻页,F8向下翻页。

执行下一条语句
按F2

查找关键字
命令为:F 关键字
按F5循环查找

设置/取消断点
将光标置于你要设置的代码处,按F6设置断点,再按F6取消断点设置。

运行到断点
按F9即可,中间若有程序段会引起Abend,那么会自动停留在abend处。

监视变量
命令L(List) 变量名 为临时监视,只会在Log区域列出变量值。
命令M List 变量名 为永久监视,会在Monitor区域监视变量值的变化情况。
命令SET AUTO ON会自动列出当前执行到的代码中所有的变量的值

清除MONITOR区域不想监视的变量
在该变量前面的行区域输入命令”C” 回车即可

在MONITOR区域以十六进制(HEX)/十进制(DECIMAL)形式显示变量
在该变量前面的行号区域输入命令”H” 或者”D”可以在十六进制和十进制之间切换

放大/缩小 MONITOR或者SOURCE区域
将光标置于MONITOR或者SOURCE区域,按F10

放大/缩小 LOG区域
按F11

左移 右移
LEFT RIGHT

向上(下)50行
UP 50 DOWN 50

分享到:

Debug Tool for z/OS

作为一个PL/I、COBOL程序猿,调试程序是必须的一项技能。这里我来说说大机上面的调试工具IBM的DebugTool,它支持的环境包括BATCH, TSO, CICS, DB2, DB2存储过程以及UNIX等等。

这篇我来说说如何设置让程序可以被Debug?
首先,你必须在编译程序的时候需要选择以Debug模式编译,这个在changeman里面直接在编译的时候选个IBM Debug Tool=”Y”就可以了。

接着,如果是BATCH的,就需要在JCL的PARM中指定TEST运行时的参数,通过VTAM接口来初始化debug模式,VTAM%后面跟着的是userid,就像这样:
debugtool-jcl-parm
是BATCH的话,你还要有一个Debug的session,这个可以参照我的另外一篇博文:
登陆大型机——Aviva的介绍,只需注意在建debug session的时候destination的IP一般和普通大机的物理ip是不一样。填上正确的ip,然后用你的id登陆,这里我的id是IBMUSER,须跟上面设置的一样。
回到JCL这边,submit,那恭喜你,你就可以看到Debugtool的画面了:
Debug tool screenshot
但是,如果程序是ONLINE的话,一般我们用CICS上面的DTCN这个工具来debug的。这里我假设你已经在上面“首先”里面正确编译了一个ONLINE的程序PRGM002 (带debug编译选项的)。然后,你登陆CICS,输入DTCN进入DTCN的设置界面:

参照上面,假如一个transaction叫BTAX,调用了你要debug的程序PRGM002,你就按照上图那样正确设置好,然后F4保存,F5激活设置,F3退出回到CICS界面,输入BTAX,那也恭喜你,你就进入了debugtool的画面了:

分享到: