在运行时显示 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 不同加载库的日期时间
目前在我的店里,我们有一个标准的 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 不同加载库的日期时间