為啥別人找問題飛快?關鍵懂得 IDEA 的 Debug 技巧
《架構師之光,多年技術積累 》昨天的文章送兩本架構師的書籍還有沒有參加的參加一下,該書非常不錯
01 Debug 簡介和意義
什么是程序 Debug?
Debug,是程序開發(fā)人員必會的一項調試程序的技能。
企業(yè)中程序開發(fā)和程序調試的比例為1:1.5,可以說如果你不會調試程序,你就沒有辦法從事編程工作。
Debug 能幫助我們做什么?
追蹤代碼的運行流程。
程序運行異常定位。
線上問題追蹤。
Debug 對于程序學習者的意義
通過調試能夠更好的查看程序的執(zhí)行流程。
復雜的程序邏輯,通過老師的口述講解,很難理解清楚,這個時候借助調試能夠很好的幫助同學們理解程序。
定位問題,提高自我解決問題的能力。
02 IDEA 中的 Debug 步驟
設置斷點(F9)
調試程序(8個按鈕)

按鈕 說明 
(Alt + F10):如果你的光標在其它行或其它頁面,點擊這個按鈕可跳轉到當前代碼執(zhí)行的行 
(F8):步過,一行一行地往下走,如果這一行上有方法不會進入方法。 
(F7):步入。如果當前行有方法,可以進入方法內部,一般用于進入自定義方法內,不會進入官方類庫的方法。 
(Alt + Shift + F7):強制步入,能進入任何方法,查看底層源碼的時候可以用這個進入官方類庫的方法。 
(Shift + F8):步出,從步入的方法內退出到方法調用處,此時方法已執(zhí)行完畢,只是還沒有完成賦值。 
回退斷點。回退到當前方法的調用處。 
(Alt + F9):運行到光標處,你可以將光標定位到你需要查看的那一行,然后使用這個功能,代碼會運行至光標行,而不需要打斷點。 
(Alt + F8):計算表達式。 觀察變量

程序區(qū)查看變量
Debugger 的 Variables 中查看變量
鼠標懸停到變量名上會彈出當前變量的值
查看變量有三種方式:
查看輸出
03 跳轉到當前代碼執(zhí)行的行
跳轉到當前代碼執(zhí)行的行(Alt + F10)

作用
使程序窗口切換到當前正在運行的程序處。
04 步過調試的使用
步過調試
步過調試按鈕(F8)

作用
步過,一行一行地往下走,如果這一行上有方法不會進入方法。
常用于調試過程中不想進入調用的方法體的情況。
05 步入調試的使用
步入調試
步過調試按鈕(F7)

作用
步入,一行一行地往下走,如果這一行上有方法,則進入方法內部。
一般用于進入自定義方法內,不會進入官方類庫的方法。
06 強制步入調試的使用
強制步入調試
強制步入調試按鈕(Alt + Shift + F7)

作用
進入官方類庫方法
幫助我們學習和查看JDK源碼
07 步出調試的使用
步出調試
步出調試按鈕(Shift + F8)

作用
從方法內退出到方法調用處。
調試的時候,有時候會跳入到自己不想查看的方法體,這個時候使用步出。
08 回退斷點調試的使用
回退斷點
回退斷點按鈕

作用
回退到當前方法的調用處。
當想重新查看該方法體的執(zhí)行過程時,不用重新啟動Debug,可以使用回退斷點方式。
09 運行到光標處
運行到光標處
使程序運行到光標處,而無需設置斷點。
運行光標處按鈕 (F9)

作用
10 計算表達式
計算表達式
計算表達式按鈕(Alt + F8)

作用
設置變量,在計算表達式的框里,可以改變變量的值,這樣有時候就能很方便我們去調試各種值的情況了。

11 條件斷點
條件斷點
右鍵單擊斷點處,可以設置進入斷點的條件
作用
通過設置斷點條件,在滿足條件時,才停在斷點處,否則直接運行。

12 多線程調試
步驟
多線程調試,需要調整斷點掛起級別為Thread
Frame中選擇線程進行調試


喜歡,在看
