日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Debug模式调试技巧

發布時間:2024/1/3 综合教程 32 生活家
生活随笔 收集整理的這篇文章主要介紹了 Debug模式调试技巧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Debug模式調試技巧

斷點管理窗口

菜單欄方式

Run -> view breakpoints

Actions方式

雙擊shift調出Actions窗口,輸入view breakpoints即可打開

任意斷點處鼠標右鍵

選擇more即可打開管理窗口

快捷鍵

Ctrl + Shift + F8

操作面板

調試按鈕

Show Execution Point

回到當前激活的斷點處。效果:若你鼠標現在在別的頁面/別的類上面,點擊它快速“歸位”

Step Over

也叫單步調試,一行一行往下走,若這一行是方法也不會進入里面去。這個應該是平時使用得最多的按鈕了,沒有之一。所以,建議記住你的快捷鍵來提高效率哈

Step Into

進入方法體內部。這里的方法指的你自定義的方法or三方庫的方法,不會進入到JDK官方的方法里(如上面的System.out.println()這種它是不會進去的)

Force Step Into強制步入

能進入任何方法,包括JDK的。一般查看底層源碼才會用到它

Step Out步出

它是搭配(Force) Step Into一起使用的,當通過step into進入到方法體內部想出來時,一般有兩種方案:單步調試慢慢出來,另一個就是step out(推薦)

Drop frame

回到當前方法的調用處,同時上下文內所有的變量的值也回到那個時候。該按鈕能夠點擊的前提條件是:當前所處的方法有上級方法,如果你是main方法里,那么按鈕就是灰色嘍

Run to Cursor

你想要代碼在哪里停一下,就把光標放在哪就成。這個功能實在太好用了,大大緩解了密密麻麻的斷點,強烈推薦

Evaluate Expression

表達式計算器,你可以在這里執行任何合法的表達式

方法調用棧

顯示當前方法(位于棧頂)所經過的所有方法。

說明:點擊右上角的小漏斗圖標可以不顯示類庫的方法,只顯示你自己寫的方法,方便調試

變量區Variables

Watches變量跟蹤

有的時候變量很多,而只需要重點關注某幾個變量,就可以使用Watches。

為何調試窗口沒自動打開?

明明斷點激活了(程序暫停了),但是那個“操作面板”并沒有出來,怎么破?

多線程調試

多線程程序的好處固然不用多說,但總所周知它調試起來是比較困難的,比如這段:

這個時候如果你想研究await()方法的實現,需要具備的前提條件是多個線程進入,因此需要hold住多個線程。若只是在await()這一行打個普通的行斷點,那結果是這樣子的:

所有線程都是Running狀態,顯示這是不可能的,因為總共只有3個另外,拿完了其它的都得等待才對,所以這個根本就不是真實的執行場景,也就不可能跟蹤到await()方法里面去探究其實現。

為了模擬出這種場景進行調試,就對斷點阻塞條件設置為這樣

再次運行程序,線程情況如下:

主動拋出異常

需求場景:你寫了一個全局異常組件,現在想測試它生效情況如何,那么時候你就需要主動拋出這種異常,一般的做法是形如這樣

使用場景

知曉了異常斷點的作用和觸發條件,使用場景就有啦。比如當你的程序拋出了一個異常,但是一時半會你并不知道是哪行代碼引起的,這個時候通過增加異常斷點的方式可以實現迅速的問題定位。

分支主題 10

IDEA把斷點分為四大類型

Line breakpoint(行斷點):圖中紅色小圓圈。顧名思義,在指定代碼行設置斷點

Field watchpoint(屬性斷點):圖中紅色小眼睛。打在類的屬性(static or 非static)上的斷點,作用是在該屬性 讀取和寫入時激活

Method breakpoint(方法斷點):圖中紅色小菱形。標記在方法簽名的那一行,在該方法執行的入口/出口處被激活

Exception breakpoint(異常斷點):紅色小閃電。這是一個特殊但很好用的斷點,當程序拋出 指定異常時會激活異常斷點。和其它斷點不同,異常斷點是項目 全局的,它不需要打在具體某一行上

轉自:https://my.oschina.net/fangshixiang/blog/4941380

總結

以上是生活随笔為你收集整理的Debug模式调试技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。