2010-07-15 61 views
1

首先,我不是任何Java领域的专家,也不是普通的Eclipse用户。由于我们团队成员的个人情况,我不得不步入漏洞并修复当前正在开发的两个Java应用程序中的一些错误。Eclipse中的多个IDE调试

我们有一个核心应用程序(CORE)和一个包含对该CORE的引用的API。我需要做的是调试API,但进入CORE代码。我拥有加载到IDE中的两个项目的所有源代码,但我无法在CORE中创建断点。我假设它使用API​​中包含的CORE的jar版本,而不是CORE中的代码。

我希望这是有道理的。

Cheers

+0

你的问题是什么?你想在CORE中设置断点? – Thariama 2010-07-15 12:46:03

+0

是的正确..对不起,如果没有清除 – 2010-07-15 13:01:57

回答

2

我有加载到IDE中的两个项目的所有源代码,但我无法在CORE中创建断点。我假设它使用API​​中包含的CORE的jar版本,而不是CORE中的代码。

更改第二个项目的构建路径,以便不引用第一个项目的打包JAR,而是引用项目本身。

在第二个项目的属性中,转到Java Build Path,从Libraries选项卡中删除JAR,并在Projects选项卡下添加第一个项目。

+0

非常感谢,这正是我所追求的。现在我可以在适当的时候通过两个打破断点的项目。 – 2010-07-15 14:25:16

3

通过单击编辑器的左侧栏来定义API中的断点。然后,尝试进入CORE的功能。 Eclipse会抱怨它找不到要调试的源代码。但是,会出现一个按钮,可以让您定义在哪里查找这些源代码:无论是在jar文件还是在外部目录中。

如果您要将CORE的源代码与CORE类一起包含,通常eclipse也会自动找到它。

干杯

+0

好的,谢谢,这是有用的,这正是我期望发生的。也许我在正确的轨道上,但有些事情并不完全正确。 – 2010-07-15 13:05:28

0

你需要做的是远程调试。 (几篇)文章涉及该主题,并展示如何设置远程调试会话。 (接近文本的末尾)

基本上你在eclipse中用一些额外的参数启动应用程序,你有一个包含源代码的项目。然后,您启动一​​个远程调试会话,并可以在远程JVM上设置断点,检查变量等。

+0

我认为,CORE不是从eclipse开始的,而是在别处运行的... – 2010-07-15 12:50:34

+0

API包含一个对CORE.jar的lib引用。 API调用CORE以获得各种功能。我能够设置一个断点,但没有命中。 – 2010-07-15 13:03:07

+0

对不起,我的意思是断点在Core中没有命中.. API断点是。主要是在API(即API开始行动) – 2010-07-15 13:03:54

0

您可能拥有由Eclipse编译为字节代码并存在IDE中的CORE Java类。这意味着由API调用的代码很可能不是您认为的代码,因为它可能出现在API旁边的jar文件中。

你需要的是将源代码附加到jar文件,而不是在它们的属性中。将它们压缩并附加该zip文件或附加“com”/“org”等软件包名称所在的文件夹。

+0

好的,这是源代码附件属性? – 2010-07-15 13:09:28