成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

玩轉(zhuǎn) IDEA 花式打斷點(diǎn),從此告別 996

開發(fā) 架構(gòu)
IDEA 對(duì)于斷點(diǎn)的支持非常豐富。掌握這些技巧以后,可以大大的提升開發(fā)效率。是幫助程序員保住頭發(fā),遠(yuǎn)離 996 的秘密武器。

代碼離不開調(diào)試,調(diào)試離不開斷點(diǎn)。

IDEA 對(duì)于斷點(diǎn)的支持非常豐富。掌握這些技巧以后,可以大大的提升開發(fā)效率。是幫助程序員保住頭發(fā),遠(yuǎn)離 996 的秘密武器。

斷點(diǎn)類型

IDEA 支持以下四種斷點(diǎn)類型:

  • 行斷點(diǎn)(Line breakpoints):最常用的一種,可以設(shè)置在任意可執(zhí)行的代碼行上面。
  • 方法斷點(diǎn)(Method breakpoints):設(shè)置在方法簽名上,當(dāng)進(jìn)入或退出方法時(shí),斷點(diǎn)可被喚醒。
  • 字段斷點(diǎn)(Field watchpoints):設(shè)置在字段(成員變量)上,當(dāng)該字段被讀取或者賦值時(shí)斷點(diǎn)被喚醒。
  • 異常斷點(diǎn)(Exception breakpoints):當(dāng)拋出指定異常時(shí)斷點(diǎn)被喚醒。

行斷點(diǎn)

行斷點(diǎn),在日常開發(fā)中最常用的方式。添加一個(gè)行斷點(diǎn)很簡(jiǎn)單,在需要添加斷點(diǎn)的 gutter 上鼠標(biāo)左鍵單擊,或者光標(biāo)定位到需要設(shè)置斷點(diǎn)的代碼行,按 Ctrl + F8 即可。

行斷點(diǎn)

斷點(diǎn)添加成功后,gutter 上會(huì)顯示一個(gè)紅色的圓點(diǎn)。接下來,使用 Debug 方式運(yùn)行程序,就可以對(duì)代碼進(jìn)行調(diào)試了。

方法斷點(diǎn)

方法斷點(diǎn)你可能之前沒有用過,但如果你有閱讀源碼的習(xí)慣,那么你需要好好利用一下這個(gè)家伙了。

方法斷點(diǎn)

添加方法斷點(diǎn)和添加行斷點(diǎn)的步驟一樣,兩者只是外觀上有些不同,方法斷點(diǎn)用紅色的菱形表示。

那么方法斷點(diǎn)有什么用呢?舉個(gè)例子:

類圖

有如上類關(guān)系,代碼實(shí)現(xiàn)如下:

public class ServiceImplA implements Service{
@Override
public String method() {
return "hello A";
}
}


public class ServiceImplB implements Service{
@Override
public String method() {
return "hello B";
}
}

有如下調(diào)用:

public String hello() {
// 假設(shè)通過看代碼很難確定是哪個(gè)實(shí)現(xiàn)類的實(shí)例
Service service = createService();
return service.method();
}

這個(gè)時(shí)候,我們不能一眼看出 service 是 ServiceImplA 的實(shí)例,還是 ServiceImplB 的實(shí)例(這個(gè)例子代碼比較簡(jiǎn)單,像 Spring 這類開源框架要復(fù)雜很多,看過源碼的話都有體會(huì))。

接下來就是方法斷點(diǎn)表演的時(shí)刻了,在接口 Service 的 method() 上打一個(gè)斷點(diǎn):

方法斷點(diǎn)

運(yùn)行程序,查看效果:

方法斷點(diǎn)效果

可以看到,hello() 方法中的 service.method() 真正調(diào)用的是 ServiceImplA 的 metho() 方法。

另外,方法斷點(diǎn)還支持以下配置:

方法斷點(diǎn)配置項(xiàng)

其中,Method entry 和 Method exit 二者至少要選擇一個(gè)(如果進(jìn)入方法和退出方法都不選,那方法斷點(diǎn)也就沒啥用了)。

字段斷點(diǎn)

字段斷點(diǎn)也是一個(gè)看源碼的神器。當(dāng)一個(gè)成員變量被多方引用時(shí),它可以精準(zhǔn)的找到誰(shuí)讀取、修改了它的值。

字段斷點(diǎn)

字段斷點(diǎn)用一個(gè)紅色的眼睛表示,可謂是非常形象了。就像給成員變量專門安排了一個(gè)盯梢的人,有什么風(fēng)吹草動(dòng)第一時(shí)間通知你。

運(yùn)行程序,看下效果:

字段斷點(diǎn)效果

可以看到,精準(zhǔn)的定位到 hello 被賦值的位置。

字段斷點(diǎn)還支持以下配置:

字段斷點(diǎn)配置項(xiàng)

同樣,F(xiàn)ield access 和 Field modification 最少選一個(gè)。

異常斷點(diǎn)

異常斷點(diǎn)在我們修復(fù) bug 的時(shí)候很有用。可以精準(zhǔn)的定位到發(fā)生(指定類型)異常的代碼行。

異常斷點(diǎn)

異常斷點(diǎn)用一個(gè)紅色的閃電表示(斷點(diǎn)響應(yīng)以后才會(huì)顯示)。

使用快捷鍵 Ctrl + Shift + F8 打開斷點(diǎn)管理對(duì)話框,按如下步驟進(jìn)行添加:

添加異常斷點(diǎn)

設(shè)置斷點(diǎn)響應(yīng)的異常類型:

設(shè)置異常類型

運(yùn)行程序,查看效果:

異常斷點(diǎn)效果

可以看到,當(dāng)發(fā)生(指定類型)異常后,程序停在了發(fā)生異常的代碼行,并在前面放一個(gè)紅色的閃電,提醒你就是這行代碼要搞事情。

斷點(diǎn)還支持以下配置:

異常斷點(diǎn)配置項(xiàng)

同樣,Caught exception 和 Uncaught exception 最少選一個(gè)。

更多玩法

使用快捷鍵 Ctrl + Shift + F8 打開斷點(diǎn)管理對(duì)話框,可以解鎖更多斷點(diǎn)的玩法:

斷點(diǎn)管理

比如可以設(shè)置斷點(diǎn)在滿足指定條件時(shí)才響應(yīng):

條件斷點(diǎn)效果

更多玩法留給你去探索。

斷點(diǎn)圖標(biāo)

下面是 IDEA 中各種類型斷點(diǎn)在不同狀態(tài)下的圖標(biāo)示意:

斷點(diǎn)圖標(biāo)示意

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2009-02-10 09:34:00

2012-02-08 17:35:47

iPhoneiTunes

2021-11-05 11:17:45

互聯(lián)網(wǎng)996大廠

2023-09-12 09:13:24

Shell腳本Dockerfil

2020-02-01 16:06:34

跳槽那些事兒網(wǎng)絡(luò)安全大數(shù)據(jù)

2024-06-28 10:29:18

異常處理Python

2021-10-22 08:09:16

斷點(diǎn)調(diào)試IAR開發(fā)工具

2019-04-26 14:32:41

人工智能AI996

2023-09-13 15:06:24

2011-06-30 21:09:26

2023-12-01 16:12:29

2021-01-18 06:43:54

程序員公務(wù)員996

2020-09-18 18:18:10

代碼開發(fā)工具

2024-08-21 08:43:53

Python技巧鍵值

2020-09-18 14:27:26

GitHub代碼開發(fā)者

2021-12-15 23:10:34

JS Debugger 前端開發(fā)

2025-01-07 12:30:00

C++參數(shù)傳遞代碼

2025-06-04 11:09:02

PromptLangGPT架構(gòu)

2021-02-07 22:51:37

Fiddler打斷點(diǎn)界面
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲精品久久 | 国产乱码精品一区二区三区忘忧草 | 国产欧美日韩二区 | 亚洲国产一区二区三区四区 | 国产福利在线免费观看 | 亚洲第一区国产精品 | 九九热在线免费观看 | 国产精品久久久久久久久久久久 | 成人国产免费视频 | 天天干.com | 亚洲精品视频二区 | 久久精品国产99国产精品亚洲 | 国产成人福利 | 毛片久久久 | 国产精品亚洲综合 | 国产韩国精品一区二区三区 | 久久久久久一区 | 天天操天天摸天天爽 | 国产1区在线 | 精品国产乱码久久久久久牛牛 | 欧美一级二级视频 | 日韩久久久久久 | 国产久 | 欧美精品片 | 精品九九| 看av网址 | 久草.com| 九九99靖品| 成人高清视频在线观看 | 欧美一区二区三区大片 | 欧美日韩一区二区三区视频 | 日本一二区视频 | 日韩中文视频 | 天天视频成人 | 亚洲国产一区二区三区在线观看 | 天天综合永久 | 日韩国产欧美在线观看 | 在线一区二区三区 | 亚洲精品视频在线播放 | 成人午夜精品 | 91电影 |