如何设置IntelliJ IDEA调试器不进入Spring Boot源码?
解决方案
1. 配置调试器步进过滤器(核心生效方案)
- 打开IDEA设置,路径为
File > Settings > Build, Execution, Deployment > Debugger > Stepping(Mac系统路径为IntelliJ IDEA > Settings > Build, Execution, Deployment > Debugger > Stepping) - 勾选页面中的
Do not step into the classes选项 - 点击右侧的添加按钮,依次新增以下包过滤规则:
org.springframework.*org.apache.*(可选,用于跳过其他通用第三方框架源码)java.*、javax.*(可选,用于跳过JDK底层源码)
- 保存设置后重启调试会话即可,后续调试的步进操作会自动跳过上述包下的所有类。
2. 清理无效/异常断点
调试器自动进入Spring源码大概率是误触发了非业务代码的断点,排查方式如下:
- 打开断点管理视图,快捷键为
Ctrl+Shift+F8(Mac为Cmd+Shift+F8) - 检查断点列表,删除所有位于Spring源码包、第三方依赖包下的断点
- 若开启了全局异常断点,取消勾选
Java Exception Breakpoints分类下的所有选项(Spring内部正常捕获的异常也会触发全局异常断点,导致调试中断) - 若业务代码的断点打在接口方法上,调整为打在实现类的对应方法上,避免触发Spring代理类的调试中断。
3. 调整调试操作逻辑
- 调试时优先使用 运行到光标处 操作(快捷键
Alt+F9,Mac为Opt+F9),直接定位到需要调试的业务代码行,跳过中间的框架执行逻辑 - 不要在Spring Boot启动入口方法处使用步进操作,启动阶段会执行大量框架内部逻辑,极易陷入源码遍历
- 若遍历完源码后应用直接停止,检查是否误触了调试面板的终止按钮,或是断点位置位于程序退出前的执行路径上。
内容的提问来源于stack exchange,提问作者DevLaka
相关产品推荐
相关产品推荐

