【问题标题】:How to use the OpenEdge debugger (OpenEdge Debugger 11.6)如何使用 OpenEdge 调试器 (OpenEdge Debugger 11.6)
【发布时间】:2021-05-05 16:23:03
【问题描述】:

我正在使用 OpenEdge Progress-4GL AppBuilder 和过程编辑器,现在我想开始使用 11.6 版 OpenEdge 调试器。

正如在互联网上的很多地方发现的那样,我已采取以下措施来启用我的 Progress 应用程序的调试:

使用Proenv,我启动了以下命令:

prodebugenable -enable-all

我收到以下回复:

OpenEdge Release 11.6 as of Fri Oct 16 19:01:51 EDT 2015

==============================================================================
        PROGRESS Debug Enabler
==============================================================================

Debugging is enabled for the Progress 4GL installed in
C:\PROGRE~1\OpenEdge.

关于环境变量的一些信息供您参考:

proenv>set DLC
DLC=C:\PROGRE~1\OpenEdge

proenv>set WRK
WRKDIR=C:\OPENED~1\WRK

proenv>set ENABLE_OPENEDGE_DEBUGGER
Environment variable ENABLE_OPENEDGE_DEBUGGER not defined

就我的应用而言,该应用基于一个快捷方式,如下所示:

C:\Progressx86\OpenEdge\bin\prowin32.exe
  -basekey "INI"
    -ininame c:\progress\our_application\progress.ini
  -pf c:\progress\our_application\misc\run_our_application.pf
  -p our_application.r
  -rr

文件“run_our_application.pf”包含一个条目列表,如下所示:

-db   our_DB
-H  DC1
-N  tcp
-S  6543

在提到的快捷方式中,我添加了-debugReady 5001 以启用基于 TCP 端口号 5001 的调试。当我启动应用程序时,我收到一条警告消息,netstat -aon 给了我以下条目:

TCP    0.0.0.0:5001           0.0.0.0:0              LISTENING       11344

其中11344被确认为prowin32应用。

在 OpenEdge 调试器中,我在菜单项“Edit”、“Preferences”、“Attachable”中有以下条目:

C:\progress\our_application
Z:\Progress\our_application\PRG
C:\Progressx86\OpenEdge

供您参考:Z:-drive 是外部服务器驱动器,Z:\Progress\our_application\PRG 是文件(*.w*.p)编译成 *.r 文件的目录,文件 our_application.r 可以是在那里找到。

尽管如此,当我打开 *.w 文件并转到“调试”菜单时,“附加到进程”菜单项仍处于禁用状态。

我可以做些什么来调试我的应用程序/*.w 文件?

【问题讨论】:

  • 请注意,prodebugenable 所做的只是将 HKLM\SOFTWARE\PSC\PROGRESS\ProDbgCK 中的注册表值从 'Debugging disabled' 更改为 'Debugging enabled' - 尝试时检查此注册表项启动调试器。

标签: debugging openedge progress-4gl


【解决方案1】:

有几种调试方法。从简单开始。您应该能够使用以下任何一种:

  1. 来自过程编辑器

选择[编译/调试],而不是选择[编译/运行]。 AVM 将开始执行当前文件,调试器将在第一行暂停执行。

  1. 来自任何警报框

-debugalert 添加到您的启动参数中,每个警报框都会显示一个额外的“帮助”按钮。单击它将显示堆栈跟踪和“调试”按钮。点击它会启动调试器,执行会在警告框所在的行暂停,这可能是您自己的警告框或错误。

  1. 独立调试器

启动调试器应用程序(Windows 快捷方式启动 proDebugger.bat)并选择 [Debug / Attach To Process...] 然后您可以输入 PID 或选择本地运行会话 (AVM)。

  1. 远程可附加调试器

这似乎是您尝试设置的内容 - 这允许您将独立调试器(请参阅选项 3)附加到在另一台机器上运行的进程,这在您拥有 AppServer 或 WebSpeed 代理时很有用想调试。

  1. PDSOE 调试器

与您无关,因为您没有使用 Progress Developer Studio for OpenEdge,只是为了完整性而提及它。这允许通过双击左边距并单步执行源代码而不是单步调试列表来在源代码中添加断点。

【讨论】:

  • ...再一次,你是一个救生员!通常在我的公司中,我们使用警报框来显示变量的值。我已经找到了另一个用于显示调用堆栈的 quirkASSIGN SESSION:DEBUG-ALERT = TRUE.,但是由于我的应用程序没有以-debugalert 启动,因此调试器无法正常工作。现在可以了,我可以开始调试我的应用程序了。仍然有一些警告信息和一些小问题,但我相信随着我的继续,这些将很快得到解决。
猜你喜欢
  • 1970-01-01
  • 2014-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-28
  • 2021-05-24
  • 1970-01-01
  • 2018-09-08
相关资源
最近更新 更多