breakpoint調(diào)試有什么用?
斷點調(diào)試對IT從業(yè)者不是一個陌生的概念,我認為它是每個程序猿(媛)從業(yè)者都避不開的且非常重要的技能之一。
調(diào)試技巧比編碼技巧更為重要,因為花費在調(diào)試上的時間往往比編碼還多,學(xué)到的東西比編碼中學(xué)到的更豐富調(diào)試技能重要性甚?超過學(xué)習(xí)?門語?不會調(diào)試的程序員,肯定編制不出任何好的軟件
說明:本文講解是基于IntelliJ IDEA而非eclipse,因此我們從它的斷點對話框開始:
熟練使用IDEA的斷點調(diào)試(Breakpoint),大大提升你調(diào)試代碼的效率(行斷點、屬性斷點、異常斷點、條件斷點、遠程debug...)【享學(xué)Java】_IntelliJ IDEA
彈出此對話框默認快捷鍵是:Ctrl + Shift +F8,在這里你可以管理你所有的斷點(增刪改)。
鼠標方式可以這樣開啟:Action-view breakpoints / 菜單run-view breakpoints
斷點的基本概念
斷點你可能天天都在使用,但是若真要你對它下定義,估計一時間還有點懵逼呢有木有?
斷點:是一種附加在源代碼上面的特殊標記,在調(diào)試模式(debug模式)下可以觸發(fā)特定的動作,比如打印線程調(diào)用棧信息、計算值、打印指定表達式的值等等。Tips:斷點一但設(shè)置就會一直保存在工程中直到手動刪除~
斷點若想生效,必須是調(diào)試模式(debug模式)下才行~
斷點參數(shù)(斷點屬性)
斷點并不是僅僅是孤立的存在的,它也可以通過參數(shù)進行定制化,這些叫斷點參數(shù)。
不同類型的斷點支持的斷點參數(shù)也不盡相同,在下面具體介紹時會詳細說明~
開胃小菜:比如最常用的條件斷點,它就是斷點參數(shù)的一個典型應(yīng)用
斷點的種類
據(jù)我粗略調(diào)查,80%的小伙伴打斷點只會采用代碼行左邊鼠標單擊這種最基礎(chǔ)的方式打斷點然后調(diào)試。其實在現(xiàn)實場景中,有非常非常多的情況下,這種方式將很難快速定位到問題所在,因此了解斷點分類、調(diào)試技巧就顯得有點必須了~
殊不知,IDEA給我們提供了豐富的斷點類型,讓我們能夠在不同的調(diào)試場景下,使用不同的斷點類型來大大提高我們的調(diào)