Eclipse远程调试,断点 - .java和.class混淆问题

3
我正在通过Eclipse远程调试Java应用程序(一堆附加源文件的Alfresco项目在ZIP文件中)。断点确实起作用,但:

1)每当我在*.class文件中设置断点时,Eclipse会在达到断点时打开*.java文件。

2)当我从*.java文件中设置断点时,会创建一个新的断点(显然与在*.class中设置的断点无关)。在断点列表中,它不提供“转到文件”选项。

3)无论是在*.class还是*.java文件中创建的断点,都不会在*.java文件中显示表示断点的标记。

(如果没有第2和第3个问题,我当然会很乐意使用*.java文件。)

我是否做错了什么? ……或者这是通常的行为,我无法对此做出任何改变?


你的源文件只在一个项目中还是多个项目中?当你按下Ctrl+Shift+T打开Java类Foo时,它会显示一个Foo还是多个? - Mohsen
只有一个。(而且Ctrl+Shift+R也不显示*.java文件。) - Jaroslav Záruba
1个回答

2
请在项目的“Java Build Path”偏好设置中检查“Order and Export”。
(或在运行配置启动器的“Classpath”选项卡中)。
对于本地项目,如果输出目录(“build”、“bin”、“cls”等)出现在您正在调试的“src”之前,您将遇到这种“断点”混乱问题。
对于远程项目,如果JAR包附带了源代码,则应该可以正常工作。

“build”文件夹在“顺序和导出”选项卡中根本没有列出。我想关键词在于“远程”(调试),即我的代码尚未涉及。 - Jaroslav Záruba
例如LoginBean.class是从alfresco-web-client-3.3g.jar中链接的,该JAR在“引用库”中,其中已附加了ZIP源代码。即使我将此JAR移动到“顺序和导出”中的第一个位置,也没有任何区别。 - Jaroslav Záruba
@Jaroslav:不太确定,但您可以尝试将源代码直接添加为“库”,并将其放在alfresco-web-client-3.3g.jar之前(这将保持与附加源代码相同的zip)。 - VonC
/src已添加到“Libraries”,并移动到“Order and Export”中的第一位,但Eclipse仍然打开LoginBean.java :( - Jaroslav Záruba
@Jaroslav:该死...我希望它至少能改善一点情况。还在寻找中。 - VonC
显示剩余2条评论

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