如何查看反编译的 R 代码以便对其进行调试?

How to view decompiled R code in order to debug it?

我正在使用 ASSIGN SESSION:DEBUG-ALERT = TRUE.,结果,在测试程序时,我收到一条错误消息,其中包含以下调用堆栈详细信息(仅第一行):

--> USER-INTERFACE-TRIGGER my_own_window.w at line 587  (\<official_build_server_directory>\my_own_window.r)
    my_own_window.w at line 709  (\<official_build_server>\<my_own_window.r)
    ...
    

如您所见,我的 window 在第 587 和 709 行有问题,但是:
在编译 window 文件时,发生了一些与行号混淆的事情,并且提到的行号是编译后的 *.r 文件中的行号,与原始 *.w 文件中的行号不同。
为了确定行号,我需要一个反编译器,或者至少需要一个 *.r-viewer(基于内部反编译器)。

这不是您需要查看的 r 代码。这是 DEBUG-LISTING 文件。如果你有源代码执行:

COMPILE my_own_window.w DEBUG-LIST c:\temp\my-own_window.debuglist .

该文件显示了实际的行号。

您还可以单击该警告框中的 'Debug' 按钮,这将调用调试器,逐步执行 'on the fly' 调试列表。

要使调试列表能够即时运行,您需要在 propath 中包含源文件。如果源文件在您的代码执行后发生更改,调试器将检测并提出警告。

并且您还需要通过启动 proenv and then prodebugenable -enable-all

来确保调试器已启用

供以后参考:目前Progress还没有提供反编译器。在撰写本文时,任何可用的反编译器都是第 3 方,并且在 Progress OpenEdge 许可证方面也可能不合法。