IDEA調試總結(設置斷點進行調試)spa
黑背景版:3d
先編譯好要調試的程序。
1.設置斷點
選定要設置斷點的代碼行,在行號的區域後面單擊鼠標左鍵便可。調試
2.開啓調試會話blog
點擊紅色箭頭指向的小蟲子,開始進入調試。
IDE下方出現Debug視圖,紅色的箭頭指向的是如今調試程序停留的代碼行,方法f1()中,程序的第9行。紅色箭頭懸停的區域是程序的方法調用棧區。在這個區域中顯示了程序執行到斷點處所調用過的所用方法,越下面的方法被調用的越早。編譯
3.單步調試
3.1 step over
點擊紅色箭頭指向的按鈕,程序向下執行一行(若是當前行有方法調用,這個方法將被執行完畢返回,而後到下一行)class
3.2 step into
點擊紅色箭頭指向的按鈕,程序向下執行一行。若是該行有自定義方法,則運行進入自定義方法(不會進入官方類庫的方法)。具體步驟以下:
在自定義方法發f1()處設置斷點,執行調試變量
點擊循環
3.3 Force step intobug
該按鈕在調試的時候能進入任何方法。程序
3.4 step out
若是在調試的時候你進入了一個方法(如f2()),並以爲該方法沒有問題,你就能夠使用stepout跳出該方法,返回到該方法被調用處的下一行語句。值得注意的是,該方法已執行完畢。
3.5 Drop frame
點擊該按鈕後,你將返回到當前方法的調用處(如上圖,程序會回到main()中)從新執行,而且全部上下文變量的值也回到那個時候。只要調用鏈中還有上級方法,能夠跳到其中的任何一個方法。
4. 高級調試
4.1 跨斷點調試
設置多個斷點,開啓調試。
想移動到下一個斷點,點擊以下圖:
程序將運行一個斷點到下一個斷點之間須要執行的代碼。若是後面代碼沒有斷點,再次點擊該按鈕將會執行完程序。
4.2 查看斷點
點擊箭頭指向的按鈕,能夠查看你曾經設置過的斷點並可設置斷點的一些屬性。
箭頭1指向的是你曾經設置過的斷點,箭頭2能夠設置條件斷點(知足某個條件的時候,暫停程序的執行,如 c==97)。結束調試後,應該在箭頭1處把所設的斷點刪除(選擇要刪除的斷點後,點擊上方的紅色減號)。
白背景版:
先編譯好要調試的程序。
選定要設置斷點的代碼行,在行號的區域後面單擊鼠標左鍵便可。
點擊紅色箭頭指向的小蟲子,開始進入調試。
IDE下方出現Debug視圖,紅色的箭頭指向的是如今調試程序停留的代碼行,方法f2()中,程序的第11行。紅色箭頭懸停的區域是程序的方法調用棧區。在這個區域中顯示了程序執行到斷點處所調用過的所用方法,越下面的方法被調用的越早。
點擊紅色箭頭指向的按鈕,程序向下執行一行(若是當前行有方法調用,這個方法將被執行完畢返回,而後到下一行)
點擊紅色箭頭指向的按鈕,程序向下執行一行。若是該行有自定義方法,則運行進入自定義方法(不會進入官方類庫的方法)。具體步驟以下:
在自定義方法發f1()處設置斷點,執行調試
點擊
該按鈕在調試的時候能進入任何方法。
若是在調試的時候你進入了一個方法(如f2()),並以爲該方法沒有問題,你就能夠使用stepout跳出該方法,返回到該方法被調用處的下一行語句。值得注意的是,該方法已執行完畢。
點擊該按鈕後,你將返回到當前方法的調用處(如上圖,程序會回到main()中)從新執行,而且全部上下文變量的值也回到那個時候。只要調用鏈中還有上級方法,能夠跳到其中的任何一個方法。
設置多個斷點,開啓調試。
想移動到下一個斷點,點擊以下圖:
程序將運行一個斷點到下一個斷點之間須要執行的代碼。若是後面代碼沒有斷點,再次點擊該按鈕將會執行完程序。
點擊箭頭指向的按鈕,能夠查看你曾經設置過的斷點並可設置斷點的一些屬性。
箭頭1指向的是你曾經設置過的斷點,箭頭2能夠設置條件斷點(知足某個條件的時候,暫停程序的執行,如 c==97)。結束調試後,應該在箭頭1處把所設的斷點刪除(選擇要刪除的斷點後,點擊上方的紅色減號)。
調試開始後,在紅箭頭指向的區域能夠給指定的變量賦值(鼠標左鍵選擇變量,右鍵彈出菜單選擇setValue...)。這個功能能夠更加快速的檢測你的條件語句和循環語句。