繁体   English   中英

需要从eclipse插件的本地调试更改为VM中的远程调试

[英]Need to change from local debug of eclipse plugin to remote debug in a vm

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

我首先必须在VM上配置网络。 我只有一个使用NAT的适配器。 我猜想我没有完全的连接,尽管我不确定这到底是什么问题。 我在“仅主机”模式下添加了第二个适配器。 现在,我的VM可以访问Internet,主机可以访问VM的IP,并且我相信VM可以访问主机的IP(尽管我不知道我需要这样做)。

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

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

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

这是我不确定的下一步。 我的插件代码在主机上。 调试配置指定了插件项目的来源,但是现在我必须在客户机上做什么呢?

我设法开发了一个可行的实现。 在这个主题中,我从其他人那里得到了很多帮助: 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的适配器之外,我还必须有一个“仅主机适配器”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM