如何获取活跃服务入口列表?

How to obtain a List of Active Service Entry Points?

调试批处理时,必须使用 STRDBG 并设置 "SBREAK",有时我的开发人员同事正在调试作为 Web 服务公开的 RPGLE 服务程序。有时这会导致网站 "Hang" 直到断点被释放。

是否有 IBMi API 来检索当前服务入口点 (SBREAK) 的列表?

相关资源:

拟议清单应包含:

  1. 注册服务入口点

    • 工作详情:JobNumber/UserName/JobName
    • 计划详情:Library/Program/Module
    • 断点详细信息:语句编号/中断条件
  2. 对于活动断点

    • 工作详情:JobNumber/UserName/JobName
    • 计划详情:Library/Program/Module
    • 断点详细信息:语句编号

正在调试的服务作业通常具有 EVTW 状态。然后您可以查看此作业的作业日志,您可能会看到消息称此作业由 XXXXXXX 用户 held/released 完成。

我会使用 QUSLJOB 来解决这个问题,以获取您要定位的子系统中具有 EVTW 状态的作业列表,然后您可以从那里获取作业日志并调用堆栈条目尝试并以编程方式确定谁在调试哪些程序。

您还可以将 strdbg、enddbg、strsrvjob 和 endsrvjob 命令包装在您自己的命令中,并记录在当时正在积极调试的 table 中。

希望这能让您更接近解决方案。