- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章_CICS应用程序的调试--CICS 技术文档05
CICS 技术文档
第五章 CICS应用程序的调试
CICS程序编译通过不一定就意味着程序没有问题。编译器只关心源程序和不合乎程序语言的语法要求,如命令的拼写,参数表是否符合要求,变量类型是否匹配等。而对于程序的逻辑是否正确并不关心,对用户的响应、操作更是不予考虑。因此就算程序顺利通过编译,各作业步返回码均为零,这个程序安装运行也有可能不正确,如出现类似1+1不等于2的逻辑错误,对于用户的操作做出预料之外的响应,如程序并没有按程序设计者的要求运行而异常终止(ABEND)。这些错误仅靠编译器语法检查是没办法解决的。因此一般来讲CICS程序需要进行进一步的调试。通过调试纠正编译器无法发现的错误。
与批处理系统相比,CICS环境下进行程序调试就比较方便了。CICS安装完后,系统就提供一个专门的事务程序CEDF(CICS Execute Dialog Facility)来进行在线程序调试。在CICS TS 版本中还额外提供一个事务程序CEDX用来对后台运行的在线程序进行调试。
5.1 CEDF简介
CEDF本身是个事务。它是CICSS系统提供的调试工具,用来实现对应用程序的在线交互式的调试。CEDF的功能较强,使用CEDF可以大大减少项目开发的时间。
CEDF调用 CICS的执行诊断设施EDF(Execution Diagnostic Facility)来交互式地调试命令级的应用程序 不必再编写专门的调试程序来调试过程。CEDF允许在程序初始化时中断程序,也可针对每个CICS命令,在程序结束时中断程序。通过CEDF可决定程序中的CICS命令是否被执行以及修改执行结果等等,能帮助你专注于编写的应用程序的问题。
CEDF事务程序提供对在线程序进行交互式调试。它的功能非常强大,跟以前DOS下的DEBUG程序非常类似,接下来将进行详细介绍。
使用CEDF之前,要保证已安装了EDF资源定义。 由于本章的内容偏应用较多,所以在各小节中有较多的图表及其说明部分。通过这一章的学习,要求读者会做在线的任务调试;能区分不同的 CEDF显示和不同的功能健命令;了解可以用 ENTER TRACENUM(或 TRACEID)命令来在程序中建立用户跟踪人口点(这种命令在程序中井没有实际的意义,仅用来供CEDF做调试用);掌握双终端调试方法,在用CEDF做调试时,可用一个终端来操作,也可用两个终端来同时来进行调试。
5.2 CICS程序跟踪
CEDF的第一个中断点是任务的初始化,此时CICS只对任务进行一些初始化工作,如到PCT中验证TRANSID的合法性,查找事务对应的入口程序,分配任务的TCA,EIB等控制块。此时终端屏幕上显示的主要是当前任务的一些信息:任务的ID,对应的事务的ID,初始的 EIB(EXEC Interface Block)值。每个任务都有一个EIB,任务不结束,EIB资源不释放,EIB信息在整个事物所涉及到的各个事物程序间直接共享,而不需要程序员用参数在事务程序间传递。若我们用COBOL语言嵌入CICS命令来编程,则可以看到由翻译器翻译得到的COBOL输出代码的链接节(LINKAGE SECTION)的第一行即为DFHEIBLK数据顶。
LINKAGE SECTION。
0l DFHEIBLK。
02 EIBTIME PIC S9(7) COMP-3。
02 EIBDATE PIC S9(7) COMP-3。
02 EIBTRNIDPIC X(4)。
02 EIBTASKNPIC S9(7) COMP-3。
……
图5.1 CEDF启动显示(第一部分)
图5.1中第一个 EIB的数据项 EIBTIME和第二个数据项 EIBDATE给出了任务启动时的系统时间和日期,它们可以被CICS的ASKTIME命令修改,刷新成当前的系统时间和日期。EIBTRNID给出了任务的事务标识符,它是四个字符长。EIBRCODE执行的是返回代码。EIBPOSN指出了光标的位置。图中下部的PF表示功能键命令,即若在键盘上按下相应的功能健,会有相应的命令操作。其中F7 是向前(上)滚屏,F8是向后(下)滚屏。这就是主机上所谓的“七上八下’。读者会发现在使用CEDF时,各屏幕显示中一般都是以“七上八下”来定义功能健的。
EIB的值较多,一屏显示不下,显示的各EIB值的下都有一个加号,表示还有一些EIB值没有显示出,可以敲F8键向下翻屏。
图5.1的上部中TRANSACTION:PA99说明当前TASK是对应的事务标识符是PA99。相应的与事务对应的入口程序是PROGA99,而TASK:0000074指出CICS给本任务分配的任务编号是00004,与批处理下的作业的作业号一样,在某一时刻任务编号是唯一的。DISPLAY:00说明当前的屏显编号为00,即正在执
文档评论(0)