前言
idea 断点总是进入class文件没有进入源文件解决
问题
在源文件里打了断点,断点模式启动时却进入了class文件里的断点,而没有进入到java源文件里的断点。
比如:我在 A.java 里打了断点,调试时却进入到了 jar 包里的 A.class 里了。
这种问题一般出现在多模块项目中,是 jar 包没能和 java 源文件路径相匹配导致的。
解决方法
1.当断点进入到 class 文件里时,上方会提示你选择你的源文件,点击提示右侧的Choose Source,然后选择你 java 源代码所在的顶级目录。
2.然后重新 debug 模式启动,断点就会进入 java 源文件啦。
还原
如果你想还原刚才的操作,即你又想让断点进 class 里调试了,那你可以按照如下方法对上面的操作进行撤销。
1.选择 File ==> Project Structure ==> Modules , 选择你相应模块的 Dependents 。
2.选择你的 class 文件所在的 jar 包,右键点击 Edit 进行编辑。
3.选择Sources 下的java源码路径,然后点击减号进行删除。
4.最后点击 Apply 和 OK 就好了。
参考
what does “Choose Sources…” do - and how can I undo what it does?