远程调试多个eclipse项目同时进行

时间:2011-12-07 03:10:13

标签: java eclipse remote-debugging

我在我的eclipse中设置了两个项目,我目前正在远程调试其中一个。但是,我正在调试的那个使用第二个eclipse项目提供的功能,我也想调试第二个项目。当我将第二个项目的远程调试配置设置为与第一个项目相同的端口时,我收到一条错误消息,' Connection refused'。我猜测当我使用' Socket attach'时,我只能远程调试一个项目。

我想知道如何设置我的调试配置,以便我能够同时调试这两个项目

由于

3 个答案:

答案 0 :(得分:4)

您无法将第二个调试器附加到JVM。但你也不应该这样做。 Eclipse调试器不应该关心代码来自工作区中的哪个项目。

(我猜你可能实际上意味着你的代码在多个工作区中。在这种情况下,你可能需要使用Change Source Attachment来允许当前Eclipse工作区中的调试器在另一个工作区中查看源代码。 )

答案 1 :(得分:2)

如果您描述了如何部署这两个项目,将会很有帮助。它们是在两个独立的流程中运行还是在同一个流程中运行?

当您在Eclipse中进行远程调试会话时,您没有调试项目 - 您正在调试远程进程(由主机名和端口指定)。是的,Eclipse要求您选择一个项目,但这只是Eclipse将断点与源代码关联起来的起点。您始终可以更改来源附件。

因此假设您有两个项目A和B,它们都在同一个远程进程中部署了代码,您只需要一个远程进程。如果您选择的项目是A,并且您尝试从项目B进入代码,Eclipse可能会告诉您它无法找到源代码。要修复此问题,您需要执行以下操作:

  • 确保您处于Debug透视图中。
  • 单击“调试”窗格(即带有方法调用堆栈的窗格)。
  • 右键单击相关方法(从项目B),然后选择“更改源附件”。从这里你应该能够选择项目B,生活会很好。

答案 2 :(得分:0)

您只需单击即可创建项目A中所需的项目B包 new -> package
进一步右键单击项目中的创建包裹A -> Import -> Select File System(as an import source) -> -> Browse Source Directory,其中包裹位于Project B -> Tick Checkbox beside Package Name -> Finish

项目B中的包将被复制到项目A中 它适用于一个远程和一个Java应用程序项目。
它对我有用。