同时远程调试多个Eclipse项目

3
我在Eclipse中设置了两个项目,目前正在远程调试其中一个。然而,我正在调试的项目使用第二个Eclipse项目提供的功能,我也想调试第二个项目。当我将第二个项目的远程调试配置设置为与第一个项目相同的端口时,会出现“连接被拒绝”的错误。我猜测当我使用'Socket attach'时,只能远程调试一个项目。
请问如何设置调试配置,以使我能同时调试两个项目?
谢谢。
3个回答

5
您不能将第二个调试器附加到JVM上。但是您也不需要这样做。Eclipse调试器不应关心代码来自工作区中的哪个项目。
(我想您实际上可能是指您在多个工作区中拥有代码。在这种情况下,您可能需要使用“更改源附件”来允许当前Eclipse工作区中的调试器查看其他工作区中的源代码。)

2
是的,事实上我确实创建了一个远程调试配置,其中包含工作区所有项目的所有源代码。它运行良好。 - рüффп

2
希望您能描述这两个项目是如何部署的,这将有助于我们更好地理解。它们运行在2个独立的进程中还是在同一个进程中?当您在Eclipse中进行远程调试会话时,您不是在调试一个项目,而是在调试一个远程进程(由主机名和端口指定)。是的,Eclipse要求您选择一个项目,但这仅作为Eclipse将断点与源代码关联起来的起点。您始终可以更改源附件。因此,假设您有A和B两个项目,它们都在同一个远程进程中部署代码,则只需要一个远程进程。如果您选择的项目是A,并且您尝试从B项目中步入代码,则Eclipse可能会告诉您找不到源代码。要解决此问题,您需要执行以下操作:
确保您处于Debug透视图中。
单击“Debug”窗格(即包含方法调用堆栈的窗格)。
右键单击问题方法(来自B项目),然后选择“更改源附件”。在此处,您应该能够选择项目B,然后一切都会很好。

0
您可以通过简单地点击“新建 -> 包”来创建Project B Required Packages,这些包在Project A中需要。
接下来,在ProjectA中创建的包上右键单击
A -> 导入 -> 选择文件系统(作为导入源) -> -> 浏览源目录,其中包位于ProjectB -> 在包名称旁边选中复选框 -> 完成
Project B中的包将被复制到Project A中。
它适用于一个远程和一个Java应用程序项目。
它对我起作用了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接