【IDEA】(4)---很好用的DEBUG功能


IDEA—DEBUG功能

一、常用快捷鍵

快捷鍵並不是完全一樣的,我這邊是MAC安裝的IDEA, 這邊最主要還是知道DEBUG時常用的功能。

1、快捷鍵

F7  #進入下一步,如果當前行是一個方法,則進入當前方法體內
F8  #進入下一步,如果當前行是一個方法,則不進入當前方法體內
F9  #跳到下一個斷點,如果沒有則直接運行結束
Alt + F8         #表達式求值
Alt + F9         #代碼會運行至光標行,而不需要打斷點
Shift + F8       #跳出進入的方法體,回到上級代碼處
Ctrl+Shift+F9    #DEBUG模式運行
Ctrl+F5          #重新運行
Shift+Command+F8 #查看所有斷點,為斷點添加條件等

2、圖形化界面解釋

第一組

(Alt + F10):如果你的光標在其它行或其它頁面,點擊這個按鈕可跳轉到當前執行的斷點。

(F8):步過,一行一行地往下走,如果這一行上有方法不會進入方法。

(F7):步入,如果當前行有方法,可以進入方法內部,一般用於進入自定義方法內,不會進入官方類庫的方法。

(Alt + Shift + F7):強制步入,能進入任何方法,查看底層源碼的時候可以用這個進入官方類庫的方法。

(Shift + F8):步出,從步入的方法內退出到方法調用處,此時方法已執行完畢,只是還沒有完成賦值。

Drop Frame (默認無快捷鍵):回退斷點,后面章節詳細說明。

(Alt + F9):運行到光標處,你可以將光標定位到你需要查看的那一行,然后使用這個功能,代碼會運行至光標行,而不需要打斷點。

Evaluate Expression (Alt + F8):計算表達式,后面章節詳細說明。

第二組


Rerun 'xxxx':重新運行程序,會關閉服務后重新啟動程序。

(Ctrl + F5):更新程序,一般在你的代碼有改動后可執行這個功能。

(F9):跳到下一個斷點,如果沒有則直接運行結束。

Pause Program:暫停程序,啟用Debug。目前沒發現具體用法。

(Ctrl + F2):連續按兩下,關閉程序。有時候你會發現關閉服務再啟動時,報端口被占用,這是因為沒完全關閉服務的原因,你就需要查殺所有JVM進程了。

(Ctrl + Shift + F8):查看所有斷點。

Mute Breakpoints:啞的斷點,選擇這個后,所有斷點變為灰色,斷點失效,按F9則可以直接運行完程序。

3、MAC的功能鍵實效

如果你是mac系統你的功能鍵F1~F12,對於IDEA可能是實效的,這里需要相關設置。


二、計算表達式

可以使用這個操作在調試過程中計算某個表達式的值,比如是否為空,獲取其它值的計算,同時它還可以修改屬性值。

1、計算表達式

        int age = 10;
        String name = "小小";
        //這里有個判斷條件,我想知道age > 5 的計算結果
        if (age > 5 && name == null) {
            System.out.println("age = " + age);
        }

第一種直接選中age>5它會直接告訴你計算結果。

第二種通過Alt+F9輸入計算表達式,也會計算結果。

2、修改屬性字段

下面age為10,那么age == 18 就為false

這時我通過Alt+F9修改屬性

發現這個屬性值已經修改成我們自定義的18了。

重要 順便說下如果我們需要查看一些重要的屬性值的變化,那么我們可以將variables中的屬性添加到Watches進行前后觀察,這樣更加直觀。比如下面age。


三、斷點條件設置

這個一般循環內比較實用,因為我們在循環體內設置斷點,如果沒有條件判斷那么我們需要一個一個執行。條件判斷就帶來很大便利。

在該斷點設置條件判斷,設置好后該斷點上會有個❓


四、異常斷點

好多時候debug的時候報異常了,如果異常恰好在for里,這個時候你也不能用條件判斷打斷點,因為不知道用什么條件的打這個斷點,這個時候異常斷點就很有用了。

比如下面,並沒有打上任何斷點

設置異常斷點 快捷鍵Shift+Command+F8 點擊+號,設置相關異常

運行結果



只要自己變優秀了,其他的事情才會跟着好起來(少將19)


免責聲明!

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



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