問題現象
專案從他處拷貝,調試時斷點只能設置在 .class 文件,無法進入 .java 源碼,且 .class 斷點失效。
根因
Eclipse 無法將 .class 文件與對應的 .java 源碼關聯,常見原因:
- 源碼路徑未加入 Java Build Path → Source 頁籤。
- 類文件來自外部 JAR,未附加 Source Attachment。
- 項目為 Linked Folder/外部文件夾,編譯輸出路徑與源碼路徑映射錯誤。
解決步驟
- 檢查 Source 附加:
- 右鍵專案 → Properties → Java Build Path → Source 頁籤。
- 確認包含源碼的文件夾(如
NCHOME)在列表中,且 Output folder 指向正確的 bin/target/classes。
- 附加外部 JAR 源碼:
- Libraries 頁籤 → 展開 JAR → Source attachment → Edit → 指向源碼 JAR 或源碼目錄。
- 清理並重建:
- Project → Clean → Clean all projects。
- 刪除
.metadata/.plugins/org.eclipse.jdt.core 緩存(慎用)。
- 調試配置:
- Debug Configurations → Source 頁籤 → Add → Java Project → 選中專案,確保
All source folders 勾選。
進階:遠程調試源碼不匹配
若連接遠程 JVM,確保本地源碼版本與遠程部署的 JAR 版本完全一致(Git tag、Maven 版本號)。
參考鏈接
詳細圖文教程:Eclipse 調試源碼關聯完全指南