首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Servlet 斷點無法命中:Tomcat 遠端除錯配置與常見誤區

     編輯:程式設計綜合問答

現象

Eclipse/IDEA 以 Debug 模式啟動 Tomcat,Servlet 類中設有斷點,但使用 HttpClient/Postman 發送請求後,斷點不命中 (無綠色勾標記)。

排查清單

  1. 斷點圖示:斷點左側是否有 綠色勾 (✓)?無勾表示類未被類加載器載入,或源碼與部署的 class 不一致。
  2. 專案部署:Server 視圖中模組是否顯示「Synchronized」?嘗試 Clean → Publish 重新部署。
  3. 源碼關聯:斷點類是否在 Source Lookup Path 中?Java Build Path → Source 頁面確認。
  4. 熱部署失效:修改代碼後未自動重載,需重啟 Tomcat 或啟用 JRebel/HotSwapAgent。
  5. 請求路徑:確認請求 URL 映射到該 Servlet (@WebServlet 或 web.xml)。

遠端除錯標準配置 (Tomcat 9+)

# catalina.sh / setenv.sh
export JPDA_ADDRESS=*:8000
export JPDA_TRANSPORT=dt_socket
# 啟動
catalina.sh jpda start

IDE 遠端除錯配置:Host localhost, Port 8000, Transport dt_socket。

快速驗證

在 init() 或建構子加斷點,重啟 Tomcat,若命中說明除錯通道正常,問題在熱部署/類重載;若仍不命中,檢查類路徑與源碼關聯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved