IDEA斷點(diǎn)調(diào)試,斷點(diǎn)不起作用的解決
IDEA斷點(diǎn)調(diào)試,斷點(diǎn)不起作用
極有可能是這個(gè)按鈕被點(diǎn)中了,去掉之后,debug可以正常進(jìn)入斷點(diǎn)調(diào)試。

IDEA斷點(diǎn)調(diào)試(Debug)
為什么需要Debug
編好的程序在執(zhí)行過程中如果出現(xiàn)錯(cuò)誤,該如何查找或定位錯(cuò)誤呢?簡單的代碼直接就可以看出來,但如果代碼比較復(fù)雜,就需要借助程序調(diào)試工具(Debug)來查找錯(cuò)誤了。
運(yùn)行編寫好的程序時(shí),可能出現(xiàn)的幾種情況:
- 情況1:沒有任何bug,程序執(zhí)行正確!
如果出現(xiàn)如下的三種情況,都又必要使用debug=========
- 情況2:運(yùn)行以后,出現(xiàn)了錯(cuò)誤或異常信息。但是通過日志文件或控制臺(tái),顯示了異常信息的位置。
- 情況3:運(yùn)行以后,得到了結(jié)果,但是結(jié)果不是我們想要的。
- 情況4:運(yùn)行以后,得到了結(jié)果,結(jié)果大概率是我們想要的。但是多次運(yùn)行的話,可能會(huì)出現(xiàn)不是我們想要的情況。
- 比如:多線程情況下,處理線程安全問題。
Debug的步驟
Debug(調(diào)試)程序步驟如下:
- 1、添加斷點(diǎn)
- 2、啟動(dòng)調(diào)試
- 3、單步執(zhí)行
- 4、觀察變量和執(zhí)行流程,找到并解決問題
1、添加斷點(diǎn)
在源代碼文件中,在想要設(shè)置斷點(diǎn)的代碼行的前面的標(biāo)記行處,單擊鼠標(biāo)左鍵就可以設(shè)置斷點(diǎn),在相同位置再次單擊即可取消斷點(diǎn)。

2、啟動(dòng)調(diào)試
IDEA提供多種方式來啟動(dòng)程序(Launch)的調(diào)試,分別是通過菜單(Run –> Debug)、圖標(biāo)(“綠色臭蟲” 等等

3、單步調(diào)試工具介紹

或

- :Step Over(F8):進(jìn)入下一步,如果當(dāng)前行斷點(diǎn)是調(diào)用一個(gè)方法,則不進(jìn)入當(dāng)前方法體內(nèi)
- :Step Into(F7):進(jìn)入下一步,如果當(dāng)前行斷點(diǎn)是調(diào)用一個(gè)自定義方法,則進(jìn)入該方法體內(nèi)
- :Force Step Into(Alt +Shift + F7):進(jìn)入下一步,如果當(dāng)前行斷點(diǎn)是調(diào)用一個(gè)核心類庫方法,則進(jìn)入該方法體內(nèi)
- :Step Out(Shift + F8):跳出當(dāng)前方法體
- :Run to Cursor(Alt + F9):直接跳到光標(biāo)處繼續(xù)調(diào)試
- :Resume Program(F9):恢復(fù)程序運(yùn)行,但如果該斷點(diǎn)下面代碼還有斷點(diǎn)則停在下一個(gè)斷點(diǎn)上
- :Stop(Ctrl + F2):結(jié)束調(diào)試
- :View Breakpoints(Ctrl + Shift + F8):查看所有斷點(diǎn)
- :Mute Breakpoints:使得當(dāng)前代碼后面所有的斷點(diǎn)失效, 一下執(zhí)行到底
說明:在Debug過程中,可以動(dòng)態(tài)的下斷點(diǎn)。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring?Security權(quán)限管理小結(jié)
SpringSecurity是一個(gè)權(quán)限管理框架,核心是認(rèn)證和授權(quán),前面已經(jīng)系統(tǒng)的給大家介紹過了認(rèn)證的實(shí)現(xiàn)和源碼分析,本文重點(diǎn)來介紹下權(quán)限管理,需要的朋友可以參考下2022-08-08
Java 內(nèi)存模型中的happen-before關(guān)系詳解
這篇文章主要為大家介紹了Java 內(nèi)存模型中的happen-before關(guān)系示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
Springboot中com.mysql.cj.jdbc.Driver在yml文件中爆紅的原因解讀
這篇文章主要介紹了Springboot中com.mysql.cj.jdbc.Driver在yml文件中爆紅的原因解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
Flink自定義Sink端實(shí)現(xiàn)過程講解
這篇文章主要介紹了Flink自定義Sink端實(shí)現(xiàn)過程,在Fink官網(wǎng)中sink端只是給出了常規(guī)的write api.在我們實(shí)際開發(fā)場景中需要將flink處理的數(shù)據(jù)寫入kafka,hbase kudu等外部系統(tǒng)2023-01-01
springboot @WebFilter注解過濾器的實(shí)現(xiàn)

