Energy of Love  
          日歷
          <2012年10月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910
          統計
          • 隨筆 - 70
          • 文章 - 0
          • 評論 - 80
          • 引用 - 0

          導航

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

           

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

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

          0.三點特別提醒:

          • 不要使用System.out.println作為調試工具
          • 啟用所有組件的詳細的日志記錄級別
          • 使用一個日志分析器來閱讀日志

          [

          (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-移動到下一個斷點處。


          posted on 2012-10-19 16:54 不高興 閱讀(699) 評論(5)  編輯  收藏 所屬分類: Java
          評論:
          • # re: Eclipse調試Java的10個技巧(轉)  http://www.timberlandmalier.fr Posted @ 2015-09-15 16:26
            不要使用System.out.println作為調試工具
            啟用所有組件的詳細的日志記錄級別
            使用一個日志分析器來閱讀日志
              回復  更多評論   

          • # re: Eclipse調試Java的10個技巧(轉)  http://www.usbedee.fr Posted @ 2015-10-15 11:10
            8進制或10進制解析會得到相同的結果。 而’08’,’09’按8進制解析會得到’0’,因為’8’、’9’在8進制中是非法字符,不會被解析。由此導致上述的bug。
            找到  回復  更多評論   

          • # re: Eclipse調試Java的10個技巧(轉)  Vans Chaussures Femme Posted @ 2015-11-10 17:40
            Google Protocol Buffers 是快速實現一個高效的二進制協議的理想方案。  回復  更多評論   

          • # http://www.r-e-v-i.fr  victoria secret uk Posted @ 2016-01-20 16:14
            無需越獄都可安裝,無數量限制  回復  更多評論   

          • # re: Eclipse調試Java的10個技巧(轉)  http://www.onedayoneword.fr Posted @ 2016-01-20 16:23
            通過本教程。  回復  更多評論   

           
          Copyright © 不高興 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 永清县| 双流县| 湖北省| 陵川县| 丰台区| 福安市| 和平县| 八宿县| 营山县| 肥城市| 六安市| 嘉荫县| 衢州市| 台东县| 红原县| 宁津县| 吴忠市| 开阳县| 马鞍山市| 乌鲁木齐市| 张家口市| 白银市| 邵阳市| 绥棱县| 巴南区| 柞水县| 磐石市| 田林县| 五寨县| 汤原县| 文登市| 苍山县| 卫辉市| 封开县| 商城县| 遂平县| 乌兰浩特市| 南和县| 米泉市| 定安县| 通州市|