在eclipse中调试具有多个类的java源文件:找不到源
我的问题与这里描述的类似: 我还研究了以下问题:但我看不出它是如何适用于我的案例的 我刚刚开始使用Eclipse及其调试器。 下面是如何在Ubuntu12.04上使用Eclipse3.7.2和java和JavaC7版重现这个问题在eclipse中调试具有多个类的java源文件:找不到源,java,eclipse,debugging,Java,Eclipse,Debugging,我的问题与这里描述的类似: 我还研究了以下问题:但我看不出它是如何适用于我的案例的 我刚刚开始使用Eclipse及其调试器。 下面是如何在Ubuntu12.04上使用Eclipse3.7.2和java和JavaC7版重现这个问题 启动Eclipse并选择workspace,例如主文件夹中的“Test” 开放java透视图 打开项目名为“Test”的新java项目 添加一个新的java类“Test” 我现在有以下截图: 将以下代码添加到源文件Test.java 在newtest2(
- 启动Eclipse并选择workspace,例如主文件夹中的“Test”
- 开放java透视图
- 打开项目名为“Test”的新java项目
- 添加一个新的java类“Test”
- 将以下代码添加到源文件
Test.java
- 在
newtest2(1)
- 打开调试透视图
- 开始调试:
- 选择
进入(F5)
非常感谢您在这个问题上提供的任何帮助。我相信您必须先创建一个Test实例,然后才能访问Test中的嵌套类Test2。Eclipse应该在您的代码中抛出一个错误,比如“没有可访问的Test2实例”之类的。更改代码,使其看起来像这样,然后查看它是否有效
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test mTest = new Test();
Test2 nTest = mTest.new Test2(1);
}
class Test2{
int i;
Test2(int i){
this.i = i;
}
}
}类
启动器$AppClassLoader
属于JRE,即将加载您的类。它与您自己类的源代码无关。如果您再进一步,您将到达您自己的类Test2
。如果您转到调试按钮栏的末尾(四个按钮位于“步进”按钮的右侧),则会出现一个“使用步骤过滤器”按钮。激活它以避免进入JRE类的不必要步骤。您是否尝试过清理项目?(项目->清理…并选择您的项目)我现在尝试清理,但没有帮助。。我仍然得到相同的错误。Test2
在OP的屏幕截图中不是嵌套类。它的定义超出了Test
的范围。对不起,我的错…我没有看到最后的括号。。看来你是对的。我可以跳过它,在进一步的步骤之后,我最终在Test2
类中输入构造函数。。我将尝试你关于步骤过滤器的建议。也许你必须配置你的过滤器。您可以右键单击stacktrace条目并选择“filter type”或“filter package”将特定代码添加到筛选器中。是的,这似乎有效。。如果我只打开Preferences->Java->Debug->Step Filtering并选择所有包会怎么样。。这是否可取?(我现在试过了,它似乎也很管用……但我不确定它是否是正确的方法……)我不知道这里有什么预定义的列表,但我想Eclipse会提供有用的建议。你唯一需要注意的是这个列表是存在的。因此,一旦您正在调试并且需要进入其中一个软件包,您就必须暂时关闭筛选,或者关闭调试会话的特定软件包,无论您喜欢什么。