You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ调试Spring Boot代码时无法进入自定义方法问题求助

解决Spring Boot调试时陷入CglibAopProxy/MethodProxy的问题

这是Spring AOP动态代理导致的调试干扰问题——你的业务Bean被Spring用CGLIB生成了代理类,调试器默认会跟进这些框架生成的代理类代码,所以才会出现返回时卡在MethodProxy、进入方法时跳到CglibAopProxy的情况。之前正常现在出问题,大概率是调试配置被重置,或是最近新增了AOP切面导致更多Bean被代理了。

给你几个实用的解决步骤:

  • 配置IntelliJ调试过滤,跳过代理类代码
    这是最彻底的解决方案:

    1. 打开IntelliJ的设置(快捷键Ctrl+Alt+S),找到Build, Execution, Deployment → Debugger → Stepping
    2. 勾选Skip synthetic methods(这个选项会跳过代理类自动生成的合成方法)
    3. 在Do not step into the classes列表中,添加以下类/包:
      • org.springframework.cglib.proxy.*
      • org.springframework.aop.framework.*
    4. 点击Apply保存,重启调试试试
  • 临时排查AOP切面问题
    如果是最近新增了AOP切面,可能是切面的切点范围太广,导致大量Bean被代理。可以先注释掉新增的切面,重新启动调试,看是否恢复正常,逐步定位到有问题的切面配置。

  • 用Force Step Into强制进入业务方法
    当调试器跳到代理类代码时,用快捷键Alt+Shift+F7(Force Step Into),可以强制绕过代理层,直接进入你自己写的目标方法逻辑。

  • 检查代理模式配置
    看看项目的VM参数里有没有-Dspring.aop.proxy-target-class=true,这个参数会强制Spring使用CGLIB代理(默认有接口时用JDK动态代理)。如果你的业务类都有接口,可以尝试去掉这个参数切换成JDK代理,配合上面的过滤设置会让调试更顺畅。

如果是最近升级了IntelliJ或者Spring Boot版本,也可能是默认调试配置被重置了,按照上面的步骤重新配置一遍基本就能解决。

内容的提问来源于stack exchange,提问作者user697911

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:52:32