【问题标题】:Retrieve source from compiled ILE Program (with DBGVIEW)从已编译的 ILE 程序中检索源代码(使用 DBGVIEW)
【发布时间】:2021-05-03 13:33:43
【问题描述】:

不使用STRDBG查看源代码,是否有API可以从使用DBGVIEW(*ALL)编译的程序中检索完整源代码?
我应该使用debug APIs,还是更简单的存在?

【问题讨论】:

    标签: ibm-midrange rpgle


    【解决方案1】:

    似乎唯一的方法是使用导出的调试 C API,如this document 中所述。

    这些 C API 也通过QSYS/QTEDBGS 下的 RPG 服务程序公开。例如,这使得通过 JTOpen 调用它们成为可能(参见ServiceProgramCall)。

    【讨论】:

      【解决方案2】:

      更容易是见仁见智...

      一次性?也许从现有的图形调试器之一(RDi 或系统)复制和粘贴

      需要从多个对象中提取源代码,然后调试器 API 是可行的方法。

      但是您对使用 C 语言工作感觉如何?或者至少,将 C 原型转换为可用的 RPGLE 原型? IBM 确实提供了一个 RPGLE 包含文件 QSYSINC/QRPGLESRC(QTEDBGS),但它是 C 标头的机器翻译,并未特别优化供 RPG 开发人员使用。

      打破支票簿并购买现有工具的简单方法就是这样做。我想有些还在附近。

      【讨论】:

      • 我需要这个作为我正在使用 JTOpen 编写的工具。因此,不可能有预先制定的解决方案。我对所有必需的语言都很满意,但是不能直接从 JTOpen 调用 C API,所以即使是未优化的 QTEDBGS 也可以。
      • 您不了解系统的工作原理。 API 位于 QTEDBGS *SRVPGM 中。不管用什么语言调用它们,只有一组 API。 include 文件有 2 个副本。一个用于 C 语言,另一个用于 RPGLE。
      • 我知道这是相同的 API,但正如我所写的,似乎可以将 QTEDBGS *SRVPGM 与 JTOpen 的 ServiceProgramCall 一起使用。所以我应该没事
      猜你喜欢
      • 2015-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-26
      • 1970-01-01
      相关资源
      最近更新 更多