【问题标题】:Need to change from local debug of eclipse plugin to remote debug in a vm需要从 eclipse 插件的本地调试更改为 vm 中的远程调试
【发布时间】:2016-02-11 19:07:47
【问题描述】:

我目前正在centos7 笔记本电脑上调试一个eclipse 插件。我需要对此进行更改,以便测试实例在 VM (ubuntu14) 中运行,然后远程连接到该实例。我了解这部分/大部分所需的元素,但我不确定至少有一个。

我首先必须在 VM 上配置网络。我只有一个适配器,使用 NAT。我想我没有完全连接,尽管我不确定这会带来什么问题。我在“仅主机”模式下添加了第二个适配器。现在我的虚拟机可以访问互联网,我的主机可以访问虚拟机的 IP,我相信虚拟机可以访问主机的 IP(虽然我不知道我需要那个)。

我在 VM 上安装了 Eclipse,并在 VM 上的 Eclipse 安装中的 eclipse.ini 文件中添加了“-Xdebug”参数(使用“suspend=n”)。

然后,我使用“远程 Java 应用程序”在主机上创建了一个调试配置,指定了来宾的 IP 和我在来宾的 eclipse.ini 中的“-Xdebug”参数中指定的端口号,并添加了我的几个相关插件项目对“源”引用。我运行了该配置,我看到它已连接,并在 Debug 窗口中显示了一组线程。

然后我终止了客户机上的 Eclipse,并看到主机上的调试会话终止了。这表明它们已正确连接。

这是我不确定的后续步骤。我的插件代码在主机上。调试配置指定了插件项目的来源,但我现在究竟要在客户机上做什么?

【问题讨论】:

    标签: java linux eclipse debugging plugins


    【解决方案1】:

    我设法开发了一个可行的实现。我在这个帖子中得到了其他人的很多帮助:https://www.eclipse.org/forums/index.php/t/1071968/

    基本上,我有一个运行 Eclipse 的 VM,其项目工作区引用与主机上的 Eclipse 相同的文件(通过共享文件夹)。在虚拟机上,我有一个“Eclipse 应用程序”类型的运行配置(不是调试),带有以下虚拟机参数:“-Xdebug -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000”。

    在主机 Eclipse 上,我有一个“远程 Java 应用程序”类型的调试配置,指向 VM 的 IP 和相同的端口。

    Eclipse 之外的一个重要细节是 VM 需要有两个适配器,而不是默认创建的那个。除了基于 NAT 的适配器之外,我还必须有一个“仅主机适配器”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-31
      • 2016-02-27
      • 1970-01-01
      • 2013-12-17
      • 2017-12-11
      • 2013-01-29
      • 2013-02-13
      • 2012-03-04
      相关资源
      最近更新 更多