Abend Causing Line

时间:2013-06-14 06:09:52

标签: db2 cobol mainframe cics rexx

有没有什么方法可以找到导致错误消息的假脱机(如offset +00007D0A at address 1515CD0A)中出现异常终止(如SO4C)的确切行号。

1 个答案:

答案 0 :(得分:10)

如果您的程序是使用OFFSET,NOLIST选项编译的,那么输出列表中将包含一个动词/行号列表,其中包含程序开头的“偏移量”。列表中具有最接近偏移量但小于或等于异常终止中报告的“偏移量”的行号是您要查看的位置。

如果您使用NOOFFSET,LIST,您将在编译列表中获得“生成的汇编程序”,并且您的异常终止“offset”应与其中一个生成的指令的“offset”完全匹配,并且您应该能够从中可以轻松识别COBOL源代码行,它是第一个在列出的实际机器指令之前带行号的动词。

请记住,在极少数情况下,你设法覆盖程序代码并最终导致异常终止,你必须更加努力,但对于“普通”异常终止,这是非常简单的。

如果您使用编译器选项NOLIST,NOOFFSET,那么您将毫无头绪。使用其中一个选项集重新运行编译。除非程序大小相同,否则也要再次运行abending作业

如果使用LIST,OFFSET,编译器将生成诊断消息,您必须选择其中一个有效选项。 LIST和OFFSET是互斥的。

相关问题