【发布时间】:2013-06-14 06:09:52
【问题描述】:
有什么方法可以从带有错误消息的假脱机中给出的偏移量(如offset +00007D0A at address 1515CD0A)中找到导致异常结束(如SO4C)的确切行号。?
【问题讨论】:
标签: db2 cobol mainframe cics rexx
有什么方法可以从带有错误消息的假脱机中给出的偏移量(如offset +00007D0A at address 1515CD0A)中找到导致异常结束(如SO4C)的确切行号。?
【问题讨论】:
标签: db2 cobol mainframe cics rexx
如果您的程序是使用选项 OFFSET,NOLIST 编译的,您将在输出列表中获得一个动词/行号列表,其中包含从程序开始的“偏移量”。列表中具有最接近偏移量但小于或等于异常结束中报告的“偏移量”的行号是您要查看的位置。
如果您使用 NOOFFSET,LIST,您将在编译列表中获得“生成的汇编程序”,并且您的异常结束“偏移量”应该与生成的指令之一的“偏移量”完全匹配,并且您应该能够从中很容易识别 COBOL 源代码行,它是列出实际机器指令之前的第一个带有行号的动词。
请记住,在极少数情况下,您设法覆盖程序代码并最终导致异常终止,您必须更加努力,但对于“普通”异常终止,这非常简单。
如果您使用编译器选项 NOLIST,NOOFFSET,那么您将一无所知。使用其中一个选项集重新运行编译。除非程序大小相同,否则再次运行异常结束作业
如果您使用 LIST,OFFSET,编译器将生成一条诊断消息,您必须选择其中一个有效选项。 LIST 和 OFFSET 是互斥的。
【讨论】: