IDEA Debug 无法进入断点的解决方法
前言
某个多模块项目中使用多个版本的 Spring,如 Spring 4,Spring 5,在使用 IDEA Debug 过程中发现,Spring 部分 jar 如 spring-core 中的上面断点,IDEA 可以成功进入。但是有部分如 spring-context IDEA 始终无法进入断点。
当 IDEA 进入 spring-core 断点时,打开 spring-context 任意源码,可以发现 IDEA 提示 source code does not match bytecode。
看到这个提示,大概知道了问题。
主要原因为应用中使用 Spring4 ,调试过程中却选择 Spring5 源码,由于两个版本肯定存在一些改动,导致 Spring5 的源码对应不上 Spring4 字节码, IDEA Debug 无法进入相关断点。
解决方法
知道问题的原因,需要找到解决办法。刚开始以为 IDEA 缓存问题,于是 Build-Rebuild Project 重新构建工程,重新调试,并没有什么鸟用。
没办法,只能在网上搜索相关解决办法,于是乎在万能的 stackoverflow 找到解决办法。
解决方案:
如果应用中存在多个版本 jar 包时,IDEA 调试过程将会看到如下提示。
在这里我们可以选择相应的版本进行调试。
如果很不幸,就像我一样,没有显示这个提示,很可能某次调试过程禁用这个功能。不过也没关系,我们可以重新在设置 Preferences/Debuggers 重新打开该选项。如图所示:
欢迎关注我的公众号:程序通事,获得日常干货推送。如果您对我的专题内容感兴趣,也可以关注我的博客:studyidea.cn
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?