【问题标题】:CICS/COBOL Abend ASRA in debugger onlyCICS/COBOL 仅在调试器中异常结束 ASRA
【发布时间】: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


【解决方案1】:

通过从系统中删除我的调试工具配置文件,然后再次登录到调试器 (DTCN),从而解决了问题,因此它创建了一个新配置文件(配置文件是 3 个文件:TOOLTEMP.PDTOOLS.{userid}.DBGTOOL.* )。在此之后,问题消失了。我问这些人这是怎么发生的,他们告诉我这是因为我在 2 个调试会话之间修改了程序而没有关闭 CICS。这是一个可以通过在我们编译其中使用的程序时关闭 CICS 来避免的故障(不确定究竟为什么......他们也不是)。 如果您在 DTCN 调试中遇到类似问题,希望这会有所帮助。

【讨论】:

  • 感谢您的更新。我从来没有听说过需要关闭 CICS 来进行编译。有必要告诉正在运行的 CICS 您有一个“新”程序,也许某个版本就足够了。
  • 我同意,我就是这样做的(CEMT SET PROG() NEWCOPY)。显然,在这种情况下出现了问题,尽管我们没有关闭 CICS 来编译新程序然后对其进行 CEMT。不幸的是,支持团队无法确定发生了什么,一旦解决,他们就没有时间进行调查。
猜你喜欢
  • 2013-08-24
  • 1970-01-01
  • 2014-08-09
  • 1970-01-01
  • 2020-01-25
  • 2012-11-17
  • 2012-05-02
  • 1970-01-01
  • 2023-03-26
相关资源
最近更新 更多