idea 无法解析 jar_IDEA Debug 无法进入断点的解决方法

06af5928159c58aa665ddff803c35c27.png
文章来源: https:// studyidea.cn/idea_break point_not_use

前言

某个多模块项目中使用多个版本的 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

10497b65cbe19bf9b3b1e32d6d6b058f.png

看到这个提示,大概知道了问题。

主要原因为应用中使用 Spring4 ,调试过程中却选择 Spring5 源码,由于两个版本肯定存在一些改动,导致 Spring5 的源码对应不上 Spring4 字节码, IDEA Debug 无法进入相关断点。

解决方法

知道问题的原因,需要找到解决办法。刚开始以为 IDEA 缓存问题,于是 Build-Rebuild Project 重新构建工程,重新调试,并没有什么鸟用。

没办法,只能在网上搜索相关解决办法,于是乎在万能的 stackoverflow 找到解决办法。

解决方案:

如果应用中存在多个版本 jar 包时,IDEA 调试过程将会看到如下提示。

dad9eba4cd057d0c3a9c0e3028855466.png

在这里我们可以选择相应的版本进行调试。

如果很不幸,就像我一样,没有显示这个提示,很可能某次调试过程禁用这个功能。不过也没关系,我们可以重新在设置 Preferences/Debuggers 重新打开该选项。如图所示:

65f7ad5ca704d14f6dea6d67987521b2.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值