5

因为我的 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 地址。我每次都得到相同的结果。

谢谢你的帮助!

4

3 回答 3

10

您缺少 -vmargs 参数。尝试“eclipse.exe -vmargs -Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8765”

我正在寻找同样的东西,并在这篇有用的帖子http://blog.ankursharma.org/2010/05/remote-debugging-eclipse.html中找到了答案

于 2013-05-10T23:23:36.050 回答
1

调试 RCP 应用程序的另一种方法是使用“-console”“-consolelog”启动它。这为您提供了 osgi 控制台,您可以在其中检查哪些包没有(未)启动,导出的服务等。键入help以获取可用命令的列表。

于 2012-11-27T01:44:51.270 回答
1

这个更好:

http://exploreeclipse.blogspot.com/2016/05/eclipse-rcp-remote-debugging.html

定义服务器和挂起参数

$./TOS_BD-macosx-cocoa -vmargs -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8989
于 2018-04-12T14:05:42.200 回答