如何远程调试我的rcp应用程序?

时间:2012-11-14 19:05:30

标签: java eclipse debugging remote-debugging rcp

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

感谢您的帮助!

3 个答案:

答案 0 :(得分:9)

您缺少-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

中找到答案

答案 1 :(得分:1)

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

答案 2 :(得分: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