Eclipse斷點調試

做爲開發人員,掌握開發環境下的調試技巧十分有必要。去年就想把關於Eclipse斷點調試總結下了,因爲對時間的掌控程度仍需極大提升,結果拖到今年才寫了此篇博文難過。關於java調試技術還有不少,如Java Debug Interface等,依據具體項目的須要,還有不少值得去研究和學習的。該博文僅就Eclipse斷點調試技巧作下總結,不足夠的地方還請大牛們指點。java

1  Debug視圖學習

1.1 線程堆棧視圖線程

  

      線程堆棧視圖表示當前線程的堆棧,從中能夠看出在運行哪些代碼,而且整個調用過程,以及代碼行號。分別介紹一下這幾個按鈕的含義。從左至右分別爲:調試

 

1.表示當前實現繼續運行直到下一個斷點,快捷鍵爲F8。進程

2.表示打斷整個進程ip

3.表示進入當前方法,快捷鍵爲F5。開發

4.表示運行下一行代碼,快捷鍵爲F6。源碼

5.表示退出當前方法,返回到調用層,快捷鍵爲F7。it

六、表示返回當前線程堆棧的起始處開始執行。io

1.2  變量視圖

 

1.爲變量名視圖,顯示當前代碼行中全部能夠訪問的實例變量和局部變量

2.顯示全部的變量值

3.能夠經過該窗口來改變變量值

1.3 斷點視圖


1.顯示全部斷點

2. 將當前窗口1中選中的端口失效,再次點擊啓用。

3.異常斷點

  常常碰見一些異常,而後程序就退出來了,要找到異常發生的地方就比較難了,還好能夠打一個異常斷點。到了異常的地方,當前線程就掛起。

1.4 表達式視圖

 


表達式視圖是Debug過程當中較爲經常使用的一個視圖,能夠對本身的感興趣的一些變量進行觀察,也能夠增長一些本身的表達式,也能夠查看一行代碼的運行結果。1.表達式2. 點擊此能夠新增一個表達式。

2 斷點種類

2.1 方法斷點

  斷點你們都比較熟悉,在Eclipse Java 編輯區的行頭雙擊就會獲得一個斷點,代碼會運行到此處時中止。方法斷點是打在方法的入口處。

    方法斷點的特別之處在於它能夠打在 JDK的源碼裏,因爲 JDK 在編譯時去掉了調試信息,因此普通斷點是不能打到裏面的,可是方法斷點卻能夠,能夠經過這種方法查看方法的調用棧。

2.2  條件斷點

 

 

條件斷點,顧名思義就是一個有必定條件的斷點,只有知足了用戶設置的條件,代碼纔會在運行到斷點處時中止。

在斷點處點擊鼠標右鍵,選擇最後一個"Breakpoint Properties"

斷點屬性中有三個選擇,啓用「Enable」,Hit Count和Conditional中依據咱們的須要來選擇。

1)Hit Count 是指定斷點處的代碼段運行多少次,最典型的就是循環,若是要讓一個循環執行10次就線程掛起,則指定Hit Count值爲10,那麼當前的循環執行到第九次的時候就會掛掉。

2)Conditional,顧名思義,就是條件判斷,例如咱們須要循環變量i==10時,線程掛起,則條件設定爲i==10,選擇Suspend when "true"。

   那若是上面的Hit Count和Conditional都選擇的話,若是表達式和值設置不合理則會實效。若是選擇Suspend when value changes,那麼可能在Conditional在變量值發生改變的時候就掛起。

2.3 變量斷點

 

斷點不只能打在語句上,變量也能夠接受斷點,

上圖就是一個變量的打的斷點,在變量的值初始化,或是變量值改變時能夠中止,固然變量斷點上也是能夠加條件的,和上面的介紹的條件斷點的設置是同樣的。呵呵,這部分我沒去實踐,找不到在哪裏設置~

2.4 修改變量值

 修改變量值的狀況適用於代碼停在斷點處,可是傳過來的值不正確,那麼能夠經過修改這個變量值,保證代碼走正確的流程;或者是說有一個異常分支總是進不去,能不能調試時改一下條件,看一下異常分支代碼是否正確。

 

在Debug 視圖的 Variables 小窗口中,咱們能夠在變量上右鍵,選擇"Change Value..." 在彈出的對話框中修改變量的值。

或是在下面的值查看窗口中修改,保用Ctr+S 保存後,變量值就會變成修改後的新值了。

2.5 從新調試

這種調試的回退不是萬能的,只能在當前線程的棧幀中回退,也就說最多隻能退回到當前線程的調用的開始處。回退時,請在須要回退的線程方法上點右鍵,選擇 "Drop to Frame"

   關於斷點調試,還有異常斷點等,已在Dubug視圖中提過,還有遠程調試的。由於本身沒試過,因此期待下次的博文。

相關文章
相關標籤/搜索