在运行时显示 loadlib

Display the loadlib at runtime

目前在我的店里,我们有一个标准的 SYSOUT header,它显示了一堆有用的信息,例如:

对我们来说非常有用的一件事是显示当前程序来自哪个加载库运行。我能够使用 IBM 内部函数 WHEN-COMPILED 获取编译日期时间,但我找不到任何可以让我获取 loadlib 的东西。

解决这个问题的正确方法是什么?

根据我在 ibm-main listserv 上看到的情况,没有适用于所有情况的通用解决方案。话虽如此,您的具体案例可能有 Peter Relson 在 https://groups.google.com/d/msg/bit.listserv.ibm-main/-kkUfvDpprk/L5PHW_HOyxMJ:

所建议的解决方案

模仿系统搜索顺序并在每个数据集上为相关成员执行 BLDL。当您找到该成员时,您可能知道它是从哪个库加载的。我说 "might" 是因为可能该成员已加载,然后有人将其从库中删除。也许然后将它添加到不同的库中。

如果您关注讨论主题,您会看到一位成员成功地创建了一个 Assembler 模块来完成我认为您要问的事情。也许他们愿意分享他们的代码,或者已经在 CBTTAPE 网站上分享了。

您或许可以获取控制台转储并查看当前打开的加载模块。完成后,您可以将日期时间戳与不同的加载库进行比较以找到加载库。

1.In SDSF, 控制台 DumpDUMP COMM=(循环转储)。这将 return 与 ID.

2.Enter命令: R id,JOBNAME=(your_jobname),SDATA=(CSA,GRSQ,LPA,LSQA,NUC,PSA,RGN,SQA,SWA,TRT),END

3.import 转储到 abend-aid

4.Find您感兴趣的模块

5.Compare 不同加载库的日期时间