認識IDEA的Debug介面圖示
阿新 • • 發佈:2022-05-11
- 逐個專案解釋(標號對應圖中的標號):
- 這個像蟲子一樣的按鈕,是開啟IDEA的Debug模式,表示用Debug模式執行程式
- 斷點,在左邊行數欄單擊左鍵表示一個斷點。當程式以Debug模式執行時,程式會在斷點處暫停執行
- 程式暫停的行數,特別需要注意的是,該行表示程式即將執行的行數,但是還未執行
- Debug視窗,當使用Debug模式執行程式,會自動啟用該視窗。該視窗是使用Debug模式的核心介面
- 左邊的Debugger表示Debug模式視窗,右邊的Console實際上就是Run模式下的控制檯
- 除錯功能按鈕,該區域的按鈕是使用Debug模式的核心功能按鈕,逐一介紹如下(從左往右)
-
Show Execution Point
- Step Over(F8):下一步,執行當前暫停行,在下一行暫停。如果當前行上有方法不會進入方法,而是直接給出方法執行完畢的結果。核心功能
- Step Into(F7):下一步(進入),執行當前暫停行,在下一行暫停。如果當前行上有方法就會進入方法,從而可以看到方法的具體執行流程。核心功能
- Force Step Into(Alt + Shift + F7):強制下一步,能進入任何方法,通常一些官方類庫的底層原始碼是無法通過Step Into直接進入檢視的,這個時候需要強制進入。瞭解即可
- Step Out(Shift + F8):跳出(方法),從當前方法內部直接跳出,但是會直接執行完畢該方法,該功能按鈕瞭解即可
- Drop Frame:回退上一步(方法的執行),和Step Out類似。不同的是,該功能不會導致方法執行完畢,可以重頭再來一次方法的執行。瞭解即可
- Run to Cursor(Alt + F9):Debug模式執行到游標處,你可以直接使用游標定位你要Debug檢視的程式行數,程式碼會執行至游標行,而不需要打斷點。瞭解即可
- Evaluate Expression(Alt + F8):計算表示式,在Debug程式的過程中,用程式記憶體中已存在的變數去重新定義表示式,計算表示式的取值。僅作了解
- Debug執行相關功能按鈕,從上到下,逐一介紹
- Rerun 'xxx':重新以Debug模式執行程式,會關閉服務後重新啟動程式。核心功能
- Resume Program(F9):繼續(恢復)程式,該按鈕從實際作用上來看是用來跳過當前斷點。如果後面有其他斷點則程式在其他斷點處暫停,否則程式會直接執行完畢
- Pause Program:暫停程式,無實際用途
- Stop 'xxx'(Ctrl + F2):關閉Debug模式,需要注意的是程式仍然會執行結束,如果它可以的話
- View Breakpoints (Ctrl + Shift + F8):檢視所有斷點,可以對工程所有斷點做一系列操作
- Mute Breakpoints:使斷點全部失效,瞭解有該功能即可
- frames即方法呼叫棧楨:這裡顯示的是方法呼叫的棧幀,處在最上層的方法棧幀是正在呼叫的方法。
- 注:學完陣列中的JVM記憶體模型小節,再看第8點會更清晰。
- Variables:變數區,這是我們需要重點關注的區域,在這裡可以檢視當前程式執行中記憶體中存在的變數的取值。