現象描述
設置斷點後以 Debug 模式啟動,程序不在斷點處暫停,斷點圖標可能顯示為帶勾的圓(已綁定)或帶叉(未綁定/無效)。
核心排查清單
- 確認 Debug 配置:
- Run → Debug Configurations → 選擇項目 → Main 標籤確認 Project 和 Main class 正確。
- Classpath 標籤確認源碼路徑包含當前項目。
- 斷點有效性檢查:
- 斷點行必須是可執行語句(非註解、聲明、空行)。
- 雙擊斷點圖標打開 Breakpoint Properties,確保 Enabled 勾選。
- 源碼與班文件同步:
- 修改代碼後必須 重新編譯 (Ctrl+B 或 Project → Clean → Build Automatically)。
- 若用 Maven,執行
mvn clean compile 確保 target/classes 為最新。
- 源碼查找路徑:
- Debug 視圖 → 右鍵編輯源碼查找 → Add → Java Project → 選中當前項目。
- 或在 Debug Configurations → Source 標籤添加項目。
- JRE 版本匹配:
- 項目編譯 JDK 與 Debug 運行 JRE 版本一致(如均為 1.8)。
- 熱部署/熱替換干擾:
- 關閉 Window → Preferences → Java → Debug → Hot Code Replace 選項,嘗試純調試。
圖文關鍵設置

圖示:Debug Configurations → Source 標籤添加項目源碼路徑,確保斷點能映射到正確行號。
進階:遠程調試配置
若調試遠程服務器,需在 JVM 啟動參數添加:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000
MyEclipse 中新建 Remote Java Application,Host 填服務器 IP,Port 填 8000。
總結
90% 的斷點失效源於源碼未同步編譯或源碼查找路徑缺失。養成「修改代碼 → Clean Build → 再調試」習慣可避免大多數問題。