【发布时间】:2014-08-29 14:04:16
【问题描述】:
我有一个问题,我似乎找不到解决方案。 在调试模式下使用时,其中一项事务会提供 ABEND ASRA。 当我编译没有调试选项的 Cobol 程序并运行该程序时,它工作正常。
错误看起来像这样(非常像这样),只是我使用的是 Cobol V4: http://www-01.ibm.com/support/docview.wss?uid=swg1PM96501
现在的问题是:为什么它在调试器中异常,而不是没有调试器? 我正在使用 CICS 调试器(DTCN 事务),程序正常启动,我可以使用 F2 和所有这些执行步骤,然后在某个位置异常终止。 请注意,由于程序非常大,很难说它在哪里异常。
目前仅此程序会发生这种情况,其他程序在调试器中运行良好。我在修改之前放置了一个断点,异常结束发生在其他区域。
另一个奇怪的地方是这个 Abend 并不一致,如果我用小步骤(F2 和小断点)执行大部分代码,有时它会一直执行到结束。
由于问题的性质,我无法发布太多信息。 我希望你遇到类似的问题,你可以告诉我在哪里寻找。
谢谢!
【问题讨论】:
-
我设法找到了有问题的调用:使用内容 x'0204ff000713120e15100f0d5400 '0000000000000000f3f5f0f5f9404040' 结束调用调用 'DFHEI1'。这是程序中的 CICS EXEC 语句。如果我一步一步(F2)通过这个区域,没有给出异常结束,程序正常结束。
-
您需要查看生成的代码 (OPTION LIST,NOOFFSET) 并确认该值未被破坏。是否必须重新编译才能使用 DTCN?有时,很少会覆盖某些不会立即导致问题的内容。更改生成的代码,现在某些内容被覆盖,这确实会导致直接问题。有时。
-
我使用调试器选项重新编译以使用 DTCN。稍后我会将调试器代码与标准代码进行比较,看看是否有任何重大差异。
-
我向我们的专家团队登记了一张票来调查此事,但我自己却找不到任何东西。如果他们能给我一个,我会发布解决方案。
-
感谢您的更新。
标签: debugging cobol mainframe cics