在項目工程->Properties->Java Build Path->Libraries中導入的JRE System Library庫里,給jar包添加JDK源代碼包后,能夠直接打開JDK的各種類文件源代碼,如Object、String、HashMap等
但是,在給這些源代碼打斷點開啟debug跟蹤的時候,卻發現eclipse報了一個 Unable to install breakpoint in *** due to missing line number attributes.Modify compiler options to generate line number attributes. 的錯誤提示框
打開Window->Preferences與項目的Properties窗口,在Java Compiler頁面中重復確認Add line number attributes to generated class files項均被正確勾選(默認已勾選)並Apply后,依然沒有解決問題
這種情況下發生的問題應該就是,eclipse(或項目工程本身)引入的JRE System Library(JDK庫)搞錯了,多數情況下是引入了JDK附送的JRE包,如下圖這樣
正確的情況應該是引入JDK本身而不是JRE,點擊Edit,更改Location指向正確的JDK目錄,點擊Restore Default更新左側所有jar包的引用目錄(指向jdk文件夾下的jre目錄),確認必需的jar包已配置源代碼包路徑(主要是rt.jar),Finish確認。
檢查項目Properties的Build Path是否單獨配置了其他的JRE System Library,類似的確認按上一步所述重新指向正確的JDK目錄后,刷新工程,或再重復確認Add line number attributes to generated class files項的勾選狀態,Apply一下,重新進入debug流程,一般情況下應該已經能夠正常的暫停在JDK類源代碼斷點行上了。