您好,登錄后才能下訂單哦!
一、多線程調試斷點
Intellij IDEA
的debug
斷點調試是有一個模式的選擇的,就像下面這張圖,平時我們都使用的是默認的 ALL
(在Eclipse
中默認是線程模式) ,這種模式我們只能將一個線程斷下來,但其他線程卻已經執行過了;而將其改為 Thread
后,就可以多個線程都斷下來,并且可以很方便的切換線程的執行流程,這就是多線程調試。
在debug
控制臺能夠很方便的查看線程的執行狀態,也可以很方便的選擇某個線程去執行:
二、回退斷點
不知道大伙有沒有遇到這樣一個問題,當我們進行debug
時,通常不會進入某個方法一步一步的執行,而是選擇性的跳過;當你想要回頭觀察某個變量的值得變化時,而你剛好沒有跟進去,跳過了這個方法,這個時候,變量就被賦值了,我們通常的做法是重來一次。
其實IDEA的調試功能是非常強大的,我們來看看熟悉的調試窗口:
使用紅色框框出來的部分,表示當前程序執行到哪一塊,哪一部分,你可以嘗試用鼠標點點看,你會發現編輯器會跳轉到對應的代碼中,當然當前斷點的位置通常會在列表的第一條。然后我們使用右鍵單擊,你就可以看到如下圖所示:
或者你也可以在下圖中找到 Drop Frame
:
在IDEA中,所謂的回退,叫 Drop Frame
,選擇Drop Frame
后,程序會跳轉回調用當前這個方法的地方,當然已經改變的值是不會恢復的。但是當該方法再次被調用時,你可以觀察到某個變量什么時候被改變,至少我們不用再去重新運行一遍程序。
三、條件斷點
條件斷點就是當滿足某個條件(通常是表達式)時,debug
斷點才會生效;這在循環中debug
是非常有用的;例如我們想要在循環體中調試:當某個變量滿足某個條件時,需要斷點調試,來查看詳細的執行流程及變化情況。
我們說過,IDEA
中的debug
功能是非常強大的,要使用條件斷點也非常簡單,下面這張圖片中 Condition
中的內容代表當name
為eamon:23
時,程序執行到斷點處停下來。
有了條件斷點,這樣一來,那些不相關和我們不關心的代碼就可以直接跳過了。
四、臨時斷點
所謂臨時斷點就是只斷一次,IDEA
默認斷點會一致存在。如果你只需要暫停一次,那么使用臨時斷點會比較方便,因為暫停一次之后斷點就自動消失了,不用手動取消。
臨時斷點可以通過在打斷點時按住 Alt
或者 option
鍵,然后創建斷點。也可以通過右鍵斷點處,選擇 more
然后在窗口中選中 Remove once hit
五、求值計算
求值計算功能在我們debug
過程中,可以很方便的查看程序中所有變量的值,也可以臨時修改程序中變量的值,這個功能能在一定程度上輔助我們進行代碼調試。
這個功能可以在debug
時在debug
窗口打開:
打開后是這樣的:
然后你就可以在表達式輸入框中,輸入你想要的操作,比如,查看變量、修改變量(臨時的)、調用某個方法等;這些操作結果將會在下方的Result
窗口中輸出。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。