【问题标题】:How can I remote debug my rcp application?如何远程调试我的 rcp 应用程序?
【发布时间】:2012-11-03 08:19:14
【问题描述】:

因为我的 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)和标准(Socket Attach)。当我尝试 Socket Listen 时,我的调试器将开始监听 - “等待 vm 在端口 8765 连接”,但是当我通过命令行启动我的应用程序时,应用程序启动正常,但调试器从不附加。

当我尝试 Socket Attach 时,我首先使用命令行启动应用程序,然后当我尝试使用 eclipse 附加时,我收到消息“无法连接到远程 VM。连接被拒绝”

我尝试了各种地址组合:localhost、127.0.0.1 和我的本地 IP 地址。我每次都得到相同的结果。

感谢您的帮助!

【问题讨论】:

    标签: java eclipse debugging remote-debugging rcp


    【解决方案1】:

    您缺少 -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中找到了答案

    【讨论】:

    • 哇,终于成功了!非常感谢你的帮助;我差点放弃这种技术。
    • 我还需要在 Ankura 的博客上看到的附加服务器和挂起参数:-vmargs -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044
    【解决方案2】:

    这样更好:

    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
    

    【讨论】:

    • 虽然这段代码 sn-p 可以解决问题,但including an explanation 有助于提高您的回复质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
    【解决方案3】:

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

    【讨论】:

    • 感谢您的回复。我修改了命令行以包含您建议的选项。检查捆绑包和服务的状态返回值,如“惰性”、“活动”和“已解决”,我目前不明白这是什么意思,所以听起来我有一些研究要做。就我所见,一切看起来都很正常。
    • 您可以使用 diag 命令查看捆绑包的依赖项是否正确解析。如果是这样,请尝试使用 start 命令启动捆绑包。
    猜你喜欢
    • 2015-08-01
    • 2014-08-13
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    相关资源
    最近更新 更多