【发布时间】:2014-06-17 19:09:28
【问题描述】:
当我在祖先类中设置断点时,Eclipse 调试器会在正确的断点处停止,但会显示“找不到源”错误。窗口的标题,而不是像正常那样显示类名,而是包含完整的 ConcreteClass(ParentClass) 名称,包括括号。这与包含执行堆栈的调试窗口中显示的字符串相同。
所以,难怪它找不到那个类。但它为什么要这样做呢?
例如,在源选项卡中,它说它正在寻找的标题是: TransferOfFundsAction(DocumentActionBase)
其中 DocumentActionBase 是带有断点的类,TransferOfFundsAction 是正在执行的子类。
【问题讨论】:
-
父类是否在同一个项目中?还是在包含被调试类的项目引用的其他项目中?
-
这发生在同一个项目中的父类和 jar 文件中的类(包含在项目类路径中)。
-
如果父类在项目中,您可以在调试时通过右键单击“调试”视图中的方法堆栈并选择“编辑源代码查找”来附加其源代码。
-
是的,我知道如何附加源代码。重新阅读我的问题。它正在寻找的类似乎是包含具体类,加上括号中的父类。它永远不会找到具有该名称的类,因为它不是有效的 java 类名称。
-
尝试 ctrl+shift+t 并搜索您调试的类。如果您看不到源,则需要附加它。关于括号中的父类名称,如果您查看调试视图,这是正常的。