Mac Intellij Debug 模式


前言:本文的核心是記錄debug的使用,與具體的操作系統無關。

1.什么是Debug


Debug是程序的一種運行模式。用來發掘程序的走向,以及程序在運行過程中參數的變化。

2.Debug的作用


debug用來追溯代碼的運行流程,通常在程序運行跟預期結果不符合的時(程序運行時出現異常),那么啟動debug模式可以分析定位異常發生的位置,幫助程序員更好的fix bug

3.Debug的使用


主要講解intellj中debug的使用 ,此篇不會講解debug時可用的快捷鍵。
配合idea中圖形界面來進行講解。

3.1.程序打上斷點
首先為程序打上斷點,我采用的是spring demo,因為這樣可以演示給第三方spring jar包如何打上斷點。
主程序上斷點如下圖所示:


程序打上斷點.png


第三方jar包反編譯源代碼斷點如下圖所示:


屏幕快照 2016-10-26 下午3.09.44.png


3.2單步調試
3.2.1 Step Over:
點擊紅色箭頭指向的按鈕,程序向下執行一行。


屏幕快照 2016-10-26 下午3.21.02.png


但有一種情況需要注意,如果在一個順序執行的程序文件中打上斷點,而第一行被打上斷點的代碼調用了其他方法,而且這個被調用的方法上也有斷點,那么這樣單步執行的順序是,先祝程序文件中第一行被打斷點的程序運行,接下來是被調用方法中打了斷點的那一行代碼,最后接着順序運行此主程序文件中其它被打了斷點的代碼。
3.2.2 Step Into:
點擊紅色箭頭指向的按鈕,程序向下執行一行。如果該行有自定義方法,則運行進入自定義方法,如果有第三方類庫方法,則在idea 中可以進入第三方代碼中。具體步驟如下:


屏幕快照 2016-10-26 下午3.41.02.png


在程序第十三行設置斷點,然后點擊上圖中紅色箭頭指向的按鈕,程序運行至第三方類庫當中代碼,代碼如下圖所示:


屏幕快照 2016-10-26 下午3.45.08.png


3.2.3 step out


屏幕快照 2016-10-26 下午3.48.30.png


如果在調試的時候你進入了一個方法,並覺得該方法沒有問題,你就可以使用stepout跳出該方法,返回到該方法被調用處的下一行語句。值得注意的是,該方法已執行完畢。
3.2.4 Drop frame


屏幕快照 2016-10-26 下午3.50.50.png


點擊該按鈕后,你將返回到當前方法的調用處(如上圖,程序會回到main()中)重新執行,並且所有上下文變量的值也回到那個時候。只要調用鏈中還有上級方法,可以跳到其中的任何一個方法。
3.2.5 純斷點運行
所謂純斷點運行表示:程序只在斷點處停留。


屏幕快照 2016-10-26 下午3.55.53.png


發現上述兩個按鈕都可以實現效果
3.2.6 查看斷點
按如下按鈕可以查看程序中所有的斷點:


屏幕快照 2016-10-26 下午3.58.03.png


效果圖如下所示:


屏幕快照 2016-10-26 下午3.59.29.png


你可以從中刪除不想要的斷點。重新debug
3.2.7 變量值查看
idea中變量值的查看非常簡單如下圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM