Eclipse斷點調試

來源:互聯網
上載者:User

標籤:style   class   blog   java   http   ext   

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

1  Debug視圖

1.1 線程堆棧視圖

  

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

1.表示當前實現繼續執行直到下一個斷點,快速鍵為F8。

2.表示打斷整個進程

3.表示進入當前方法,快速鍵為F5。

4.表示執行下一行代碼,快速鍵為F6。

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

6、表示返回當前線程堆棧的起始處開始運行。

1.2  變數視圖


1.為變數名視圖,顯示當前程式碼中全部能夠訪問的執行個體變數和局部變數

2.顯示全部的變數值

3.能夠通過該表單來改變變數值

1.3 斷點視圖


1.顯示全部斷點

2. 將當前表單1中選中的port失效,再次點擊啟用。

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視圖中提過,還有遠端偵錯的。由於自己沒試過,所以期待下次的博文。




 







相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.