一、前言
為什么需要調試代碼?調試可以幫助我們理解代碼運行時的執行細節,例如變量的值等。通常,我們通過調試來發現并修復代碼中的錯誤。熟練掌握調試技巧是成為一名合格程序員的基本要求。
本文的開發環境包括:
二、調試技巧
設置斷點
立即學習“Java免費學習筆記(深入)”;
在代碼編輯區域,點擊左側代碼行號的邊即可在該行設置斷點。
啟動調試
通過鼠標右鍵菜單選擇“Run App.main()”,或者使用快捷鍵Shift+F9啟動調試。
啟動調試后,程序會啟動并停留在第一個斷點處,此時該行的代碼尚未執行。IDEA的底部會出現Debug工作區,鼠標移動到各按鈕上會顯示提示信息。本文僅介紹部分常用功能。
- 常用工具欄
綠色返回箭頭 | 重新運行程序(Ctrl+F5) 綠色向右箭頭 | 繼續執行程序,如果遇到斷點則會停留到該斷點(F9) 紅色方塊 | 停止程序(Ctrl+F2) 雙紅色小圓圈 | 查看所有斷點信息(Ctrl+Shift+F8)
- Debug工具欄
紅色箭頭+橫線 | 回到當前待執行,調試過程中如果查看引用的方法跳來跳去,可以使用該功能快捷返回(Alt+F10) 藍色向下箭頭 | 單步調試:執行一條語句,但是遇到方法調用時不進入,直到方法執行完成后直接繼續(F8) 藍色向右下箭頭 | 單步調試:執行一條語句,但是遇到系統類庫方法調用時不進入,直到方法執行完成后直接繼續。如果遇到非系統類庫中的方法,則會進入該方法進行調試(F7) 紅色向右下箭頭 | 單步調試:執行一條語句,遇到方法調用時會進入方法進行調試(Alt+Shift+F7) 藍色向右上箭頭 | 執行當前方法并到下一步驟,如果當前方法有斷點則會到下一個斷點(Shift+F8) 藍色向右下小箭頭+豎線 | 運行到下一個斷點(Alt+F9)
- Frames區域
mian:12 | mian方法的第12行 App | 當前的類名 io.ken.hello.Java | package name
- 變量區域
管理當前方法已經聲明的變量信息。
修改變量值
選中要修改的變量,使用快捷鍵F2進入編輯模式。
按回車鍵保存,然后使用F8進行單步調試。
這樣,本來運行后result=false,結果由于我們修改了變量的值,原本會被跳過的if語句塊可以被調試。
三、IDEA調試快捷鍵總結
Shift+F9 | 啟動調試 F9 | 繼續執行程序,如果遇到斷點則會停留到該斷點 Ctrl+F2 | 停止程序 Ctrl+Shift+F8 | 查看所有斷點 Alt+F10 | 回到當前待執行,調試過程中如果查看引用的方法跳來跳去,可以使用該功能快捷返回 F8 | 單步調試:執行一條語句,但是遇到方法調用時不進入,直到方法執行完成后直接繼續 F7 | 單步調試:執行一條語句,但是遇到系統類庫方法調用時不進入,直到方法執行完成后直接繼續。如果遇到非系統類庫中的方法,則會進入該方法進行調試 Alt+Shift+F7 | 單步調試:執行一條語句,遇到方法調用時會進入方法進行調試 Shift+F8 | 執行當前方法并到下一步驟,如果當前方法有斷點則會到下一個斷點 Alt+F9 | 運行到下一個斷點