IDEA Debug 無法進入斷點的解決方法


文章來源: https://studyidea.cn/idea_breakpoint_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

source code does not match bytecode

看到這個提示,大概知道了問題。

主要原因為應用中使用 Spring4 ,調試過程中卻選擇 Spring5 源碼,由於兩個版本肯定存在一些改動,導致 Spring5 的源碼對應不上 Spring4 字節碼, IDEA Debug 無法進入相關斷點。

解決方法

知道問題的原因,需要找到解決辦法。剛開始以為 IDEA 緩存問題,於是 Build-Rebuild Project 重新構建工程,重新調試,並沒有什么鳥用

沒辦法,只能在網上搜索相關解決辦法,於是乎在萬能的 stackoverflow 找到解決辦法。

解決方案:

如果應用中存在多個版本 jar 包時,IDEA 調試過程將會看到如下提示。

image.png

在這里我們可以選擇相應的版本進行調試。

如果很不幸,就像我一樣,沒有顯示這個提示,很可能某次調試過程禁用這個功能。不過也沒關系,我們可以重新在設置 Preferences/Debuggers 重新打開該選項。如圖所示:

null

歡迎關注我的公眾號:程序通事,獲得日常干貨推送。如果您對我的專題內容感興趣,也可以關注我的博客:studyidea.cn

其他平台.png


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM