2012-10-05 56 views
6

嗨我要在Java中多挖一点,所以我想看看程序如何在核心类中执行。例如,我想知道String.chatAt()是如何实现的,所以我设置了断点并试图进入调试模式。但是我失败了,我在程序打到第二行的时候设置了bp,我使用它继续到第三行。如何才能进入Eclipse中的核心Java类方法?

String a = "1231231241241"; 
char b = a.charAt(0); 
System.out.println(b); 

我觉得应该进入源,并显示“没有找到源”,然后给我一个机会,附加源文件,对不对?但为什么它不能进入​​?我只能使用ctrl+right点击一种方法进入源代码并附加。

+0

您应该附加JDK的源代码,即告诉eclipse源JAVA文件的来源。 –

+0

嗨我已附加src.zip的问题是,我不能在代码中的步骤。它会直接进入下一行。 – user1722361

+0

尝试在'charAt'函数上按F3。它会浏览到源代码吗?如果是,则尝试在内部设置断点。这里的问题意味着各种组件看到不同的罐子和来源,试图验证所有版本。 –

回答

5

这可能是因为您的Eclipse没有设置为使用JDK运行,而是可能使用JRE运行。
检查this link
此外,我建议您尝试使用Maven来进行Java项目管理,当您掌握它时,它会让您的生活变得更加轻松。

+0

谢谢我的朋友,其实我已经设定使用jdk/jre了。我可以在源文件中设置bp,但程序无法停止。此外,我仍然无法步入图书馆的方法。 – user1722361

2

为了能够查看您在项目中使用的libriaries的代码,您应该通过附加soruces和JavaDoc来配置构建路径。

Source Lookup

+0

嗨,谢谢,我附上了src.zip,我可以用F3查看代码。问题是我无法步入源代码(在src.zip中),即使我设置了bp。例如在charAt方法中。并且该程序不会停止在String.java中的bp处 – user1722361

0

好像你没有 “源附件” 设置。转到首选项 - > Java - >已安装的JRE。选择你使用的JRE并点击“编辑”,然后通过选择jar并点击“Source Attachment”:)将Source Attachment设置为jdk附带的src.zip。 您可以通过按住Shift键并选择它们来同时使用所有罐子。

5

最有可能的是,您激活了“步骤过滤”功能。

调试时,如果调试程序步入内部实际上并不真正感兴趣的普通类中,有时会有点烦人。因此,您可以配置“步骤过滤器”。 “步入”操作将忽略作为步骤过滤器添加的类或包。

如果要配置的类/包应包括在步骤过滤器,你可以去:
Window --> Preferences --> Java --> Debug --> Step Filtering
我的猜测是,你有一个java.*包过滤器定义存在,这意味着调试器永远不会一步放入以“java”开头的包中的任何类。如果你希望能够通过点击在调试视图的Use step filtering按钮步入java.lang.String

或者,如果要激活/停用步骤完全滤除,可以做到这一点,如下面示出取消此包过滤器:

Toggling step filtering

0

例如,在此的System.out.println(“测试”)一段代码,如果你想踏入系统类只需点击系统,然后单击F3,你会被重定向到附加源代码,如果你还没有附上。只需附上jdk的src文件夹

相关问题