【发布时间】:2019-04-28 01:18:30
【问题描述】:
我正在尝试通过 Internet 执行远程调试,但是,我收到以下错误。
错误
Debugger Assertion Failure: "!"mkapistream::openConnection()"" in ..\win32src\rproxy.cpp at line 298 OK
详情>>
我已经打开了默认 PAServer 端口,即 64211,以及我的路由器上的远程调试器端口,即 64447,并且可以确认它们可从外部来源获得。
我已经尝试过作为我的开发环境的 Delphi XE3 以及新的 Delphi 10.3 的试用版,但是,这两个版本的 Delphi 都抛出了完全相同的错误。
当我尝试使用Load Process|Remote 和Attach to Process|Remote 时,会出现此错误。
如果我通过 LAN 连接尝试完全相同的过程,一切都会按预期工作,它似乎只是在出现问题的 WAN 上。
以下是我的环境详细信息:
Windows 10 - 版本 1607(操作系统内部版本 14393.2608)
Delphi XE3 Update 2 Enterprise - 版本 17.0.4770.56661
PA 服务器 (paserver.exe) - 版本 17.0.4770.56661
远程调试器 (rmtdbg170.exe) - 版本 17.0.4770.56661
和
Delphi 10.3 Architect 试用版 - 版本 26.0.32429.4364
PA 服务器 (paserver.exe) - 版本 26.0.32429.4364
远程调试器 (rmtdbg260.exe) - 版本 260.1810.29.29349
我还为 Delphi XE3 以及 bordbk260.dll 和 bordbk260N.dll 注册了两个库 bordbk170.dll 和 bordbk170N.dll。
如果我设置了 VPN 连接,我可以通过 WAN 连接进行远程调试,但似乎远程调试器无法通过直接的 WAN 连接解决缺点。
所以,我的问题如下:
可以通过 WAN 连接远程调试 Delphi 应用程序吗?
【问题讨论】:
-
我想,如果不调整一些防火墙设置,您不能直接使用,但使用隧道连接(如 VPN 或 ssh 会话)应该是可行的。
-
这是符合预期的,因为 WAN(和整个互联网)是如何工作的
-
奇怪的是部署管理器在 WAN 上工作得很好,所以我能够在 WAN 上构建和部署文件,所以 IDE 和 PAServer 之间的通信很好,而且一旦我尝试远程调试,远程调试器的新实例在远程计算机上成功启动,但是远程调试本身失败?
标签: delphi remote-debugging wan