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

Eclipse Java Web 項目調試:瀏覽器開發者工具 + 斷點 定位頁面操作調用鏈路全流程

     編輯:程式設計綜合問答

調試三板斧

  1. 瀏覽器開發者工具(F12)— 網絡面板
    - 操作頁面(點擊按鈕、提交表單、跳轉鏈接)。
    - 觀察 Name/Path:請求 URL(如 /user/login、/api/order/list)。
    - 觀察 Method:GET/POST/PUT/DELETE。
    - 觀察 Status:200/404/500。
    - 觀察 Request Payload / Form Data:前端發送的參數。
    - 觀察 Response:後端返回的 JSON/HTML/錯誤信息。
    → **確定調用了哪個 Controller/Action、傳了什麼參數、返回什麼數據。**
  2. Eclipse 斷點調試 — 後端鏈路
    - 在對應 Controller 方法、Service 方法、DAO 方法、SQL 構建處打**斷點**。
    - Debug As → Debug on Server 啟動 Tomcat。
    - 瀏覽器再次操作觸發請求。
    - Eclipse 斷點命中,**Variables 面板**查看參數、局部變量、對象圖。
    - Step Into (F5) / Step Over (F6) / Step Return (F7) 單步跟蹤調用棧。
    - Display / Expressions 臨時執行代碼片段驗證邏輯。
    → **確定具體執行了哪些類、哪些方法、什麼順序、中間數據變化。**
  3. 日誌/鏈路追蹤 — 生產/壓測環境
    - 接入 Logback + MDC 打印 traceId、spanId。
    - 或接入 **SkyWalking / Pinpoint / Zipkin** 可視化調用拓撲。
    → **無法斷點時的唯一救命稻草。**

實戰操作步驟(Eclipse + Tomcat)

  1. 項目右鍵 → Debug As → Debug on Server(確保 Server 模式為 Debug)。
  2. 雙擊行號左側添加斷點(藍色圓點)。
  3. 瀏覽器操作觸發請求。
  4. Eclipse 切換到 Debug 視角,Debug 視圖**顯示線程棧帧。
    - 右鍵線程 → Step Into/Over/Return。
    - Variables** 面板展開對象查看字段。
    - Breakpoints** 視圖管理條件斷點(如 user.getId() == 1001)。
  5. 控制台查看 SQL(配置 log4jdbc 或 MyBatis logImpl=STDOUT_LOGGING)。

常見新手誤區

  • 以為 Run As 也能斷點 — 必須 **Debug As**。
  • 斷點打在 JSP/HTML 上 — JSP 編譯為 Servlet 後行號對不上,打在對應的 _jspService 或 Controller/Service 層。
  • 不看瀏覽器 Network 直接亂打斷點 — 先搞清請求 URL/參數,再精準打斷點,效率提升 10 倍。
  • 多線程調試困惑 — Debug 視圖下拉選擇目標線程,或用「斷點屬性 → Filter」限定線程名。
  • 進階技巧

    • 熱部署:Eclipse + Tomcat 默認支持類文件熱替換(方法體修改保存即時生效),結構變更(增減方法/字段)需重啟。
    • 遠程調試:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 添加到 Tomcat catalina.sh/jvmargs,Eclipse → Remote Java Application 連接。
    • 條件斷點 + 打印點:避免高頻循環中手動 Step Over,設置 Hit Count 或 Condition,或用 System.out.println 等效的「打印點」(右鍵斷點 → Breakpoint Properties → Log Message)。

    「瀏覽器看請求,Eclipse 看代碼,日誌看全鏈路」—— 三位一體,Java Web 調試無死角。

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