您好我将在Java中再挖一点,所以我想看看程序在核心类中的执行情况。例如,我想知道String.chatAt()
是如何实现的,所以我设置了断点并试图进入调试模式。但是我失败了,当程序命中时,我在第二行设置了bp,我用它进入它仍然继续到第三行。
String a = "1231231241241";
char b = a.charAt(0);
System.out.println(b);
我认为它应该进入源代码并显示“找不到源代码”,然后给我一个附加源文件的机会,对吧?但为什么它不能进入呢?我只能使用ctrl+right
点击方法进入源代码并附加。
答案 0 :(得分:5)
可能是您的Eclipse没有设置为使用JDK运行,它可能会与JRE一起运行。
检查this link。
另外,我可能会建议您尝试使用Maven进行Java项目管理,当您掌握它时,它会让生活变得更加轻松。
答案 1 :(得分:5)
最有可能的是,您已激活“步骤过滤”功能。
调试时,当调试器进入你不感兴趣的内部的普通类时,有时会有点烦人。因此,你可以配置“步骤过滤器”。 “Step into”操作将忽略作为步骤过滤器添加的类或包。
如果您想配置步骤过滤器中应包含哪些类/包,您可以转到:
Window --> Preferences --> Java --> Debug --> Step Filtering
我的猜测是你在那里定义了一个java.*
包过滤器,这意味着调试器永远不会进入以“java”开头的包中的任何类。如果您希望能够进入java.lang.String
或者,如果要完全激活/停用步骤过滤,可以通过单击调试视图中的Use step filtering
按钮来执行此操作,如下所示:
答案 2 :(得分:2)
为了能够查看项目中使用的库代码,您应该通过附加源代码和JavaDoc来配置构建路径。
答案 3 :(得分:0)
好像你没有设置“源附件”。转到首选项 - > Java - >已安装的JRE。选择您使用的JRE并单击“编辑”,然后通过选择jar并单击“Source Attachment”:)将Source Attachment设置为jdk附带的src.zip。 您可以通过按住Shift键单击选择它们,同时对所有罐子进行此操作。
答案 4 :(得分:0)
例如在 System.out.println(" test")代码片段中,如果您想要进入System类,只需单击System并单击F3即可如果您还没有附加源代码,请重定向以附加源代码。只需附加jdk的src文件夹