CICS应用程序编程 – 调试CICS应用程序

CICS本身提供了一些交易来帮助程序员调试CICS应用程序,如CEDF, CEDX和CECI. 

1. CEDF

CEDF使用CICS提供的 Execution Diagnostic Facility(EDF)来调试应用程序。EDF截获在程序运行时各个CICS命令的执行,向用户展示CICS命令执行前和执行后的具体信息。EDF允许用户与应用程序进行交互,例如在命令执行前对命令的参数进行修改,在命令执行后对命令的返回码进行修改。下面列出在应用执行过程中,EDF的截获点:

(1) 程序开始

EDF的第一个截获点是程序开始,显示了COMMAREA(如果有)以及初始EIB的值。

 

(2) 每个CICS命令执行前

EDF显示了将要执行的命令,包括关键字,选项和参数值。 

 
 

可以使用PF9来设置stop conditions, 设置之后使用PF4来继续执行EDF,在遇到stop conditions之前的命令都不会被EDF截获。用户还可以阻止当前命令的执行,例如可以清除命令本身,或使用NOOP(或者NOP)覆盖掉当前的命令。另: 行数(LINE)是由 compiler的DEBUG选项生成的,例如LINE:00673表示SEND MAP这个命令在compiler listing的第673行。可使用PF2在十六进制和字符两种展示之间进行切换。

 
 

十六进制的展示还提供了地址信息。可以使用PF5查看working storage,如下所示。包含了实际地址,相对位移,十六进制格式和字符格式。用户可以改变Working Storage的内容(十六进制格式和字符格式下都可以修改,当两者同时被修改时,十六进制下的修改生效。)Working Storage Area之外的storage不能被修改。注意在这个界面中PF键的定义和之前不同,例如可使用PF2调用一个交易来显示临时存储队列; PF5可以调用CECI。 

 

(3) 每个CICS命令执行后

此时,用户可以看到命令执行后的结果:变量值以及返回码。用户还可以改变返回码帮助测试一些不常被执行的routine. 

 

(4) 程序结束,任务正常结束

程序结束时:

 
 

任务正常结束时: 

(4) Abend产生时以及任务异常结束之后

 

 
 

2. CEDX 

CEDX用于non-terminal task的调试,需要指定待调试的交易名:CEDX transid。

 
 

3. CECI 

CECI可以直接执行CICS命令,无需程序员编写程序,CECI支持的命令如下:  

  

     

如果这文章对你有帮助,请扫左上角微信支付-支付宝,给于打赏,以助博客运营

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注