因为我的 RCP eclipse 应用程序在 eclipse 之外运行时失败,但在 eclipse 内部运行时可以正常工作,所以我尝试使用 eclipse 远程调试我的应用程序,因为它在 eclipse 环境之外运行。
我在 64 位 Windows 7 机器上使用 32 位 Eclipse 3.6.1。我正在使用 32 位 Java 1.6 更新 37。我使用 Eclipse 产品导出向导来打包应用程序,最终得到一个 eclipse.exe。我创建了一个远程调试配置并将其设置为使用端口 8765(随机数)。出于调试目的,我使用以下行从命令行启动应用程序:
eclipse.exe -Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8765
根据我是通过 Eclipse 调试器附加还是侦听,我会将 server=[y/n] 选项添加到此命令行,但似乎没有任何区别。
对于配置连接类型,我尝试了标准(套接字侦听)和标准(套接字连接)。当我尝试 Socket Listen 时,我的调试器将开始监听 - “等待 vm 在端口 8765 连接”,但是当我通过命令行启动我的应用程序时,应用程序启动正常,但调试器从不附加。
当我尝试 Socket Attach 时,我首先使用命令行启动应用程序,然后当我尝试使用 eclipse 附加时,我收到消息“无法连接到远程 VM。连接被拒绝”
我尝试了各种地址组合:localhost、127.0.0.1 和我的本地 IP 地址。我每次都得到相同的结果。
谢谢你的帮助!