Top 10 Java Debugging Tips with Eclipse(Eclipse調試Java的10個技巧)

來源:互聯網
上載者:User

在本教程中,我們將看到使用Eclipse調試Java應用程式。調試可以協助我們識別和解決應用程式中的缺陷。我們將重點放在已耗用時間的問題,而不是編譯時間錯誤。有提供像gdb的命令列調試器。在本教程中,我們將集中在基於GUI的調試,我們把我們最喜愛的IDE Eclipse來運行,通過本教程。雖然我們說的Eclipse,點大多是通用的,適用於調試使用的IDE像NetBeans。

在看這篇文章前,我推薦你看一下Eclipse
快速鍵手冊,你也可以到這兒:下載PDF檔案我的eclipse版本是4.2
Juno。

  • 不要使用System.out.println作為調試工具
  • 啟用所有組件的詳細的日誌記錄層級
  • 使用一個日誌分析器來閱讀日誌
1。條件斷點

想象一下我們平時如何添加斷點,通常的做法是雙擊行號的左邊。在debug視圖中,BreakPoint View將所有斷點都列出來,但是我們可以添加一個boolean類型的條件來決定斷點是否被跳過。如果條件為真,在斷點處程式將停止,否則斷點被跳過,程式繼續執行。

2。異常斷點

在斷點view中有一個看起來像J!的按鈕,我們可以使用它添加一個基於異常的斷點,例如我們希望當NullPointerException拋出的時候程式暫停,我們可以這樣:

3。觀察點

這是一個很好的功能,他允許當一個選定的屬性被訪問或者被更改的時候程式執行暫停,並進行debug。最簡單的辦法是在類中聲明成員變數的語句行號左邊雙擊,就可以加入一個觀察點。

4。查看變數

在選中的變數上使用Ctrl+Shift+d 或者 Ctrl+Shift+i可以查看變數值,另外我們還可以在Expressions View中添加監視。

5。更改變數的值

我們可以在Debug的時候改變其中變數的值。在Variables View中可以按所示操作。

6。在主方法停止

在Run/Debug設定中,我們可以按如所示的啟用這個特性。程式將會在main方法的第一行停住

7。環境變數

我們可以很方便的在Edit Conriguration對話方塊中添加環境變數

8。跳出函數到選定層

這個功能非常酷,是我第二個非常喜歡的功能,Drop to frame就是說,可以重新跳到當前方法的開始處重新執行,並且所有上下文變數的值也回到那個時候。不一定是當前方法,可以點擊當前調用棧中的任何一個frame跳到那裡(除了最開始的那個frame)。主要用途是所有變數狀態快速恢複到方法開始時候的樣子重新執行一遍,即可以一遍又一遍地在那個你關注的上下文中進行多次調試(結合改變變數值等其它功能),而不用重來一遍調試到哪裡了。當然,原來執行過程中產生的副作用是無法復原的(比如你往資料庫中插入了一條記錄)。

9。分步過濾

當我們在調試的時候摁F5將進入方法的內部,但這有個缺點有的時候可能會進入到一些庫的內部(例如JDK),可能並不是我們想要的,我們可以在Preferences中添加一個過濾器,排除指定的包。

10。跳入,跳過和返回

其實這個技巧是debug最基本的知識。

  • F5-Step Into:移動到下一步,如果當前的行是一個方法調用,將進入這個方法的第一行。(可以通過第九條來排除)
  • F6-Step Over:移動到下一行。如果當前行有方法調用,這個方法將被執行完畢返回,然後到下一行。
  • F7-Step Return:繼續執行當前方法,噹噹前方法執行完畢的時候,控制將轉到當前方法被調用的行。
  • F8-移動到下一個斷點處。


原文出自:http://javapapers.com/core-java/top-10-java-debugging-tips-with-eclipse/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.