Java程序員必知調試技巧彙總
調試可以幫助識別和解決應用程序缺陷,在本文中,將使用大家常用的的開發工具Eclipse來調試Java應用程序。但這裏介紹的調試方法基本都是通用的,也適用於NetBeans IDE,我們會把重點放在運行時上面。
在開始之前,推薦大家去看看Eclipse shortcuts這篇文章,它將會給你帶來很多方便。在本文中使用的是Eclipse Juno版(Eclipse 4.2),在開始前給大家提3點建議!
1.不要使用tln作爲調試工具
2.把所有涉及到的組件日誌級別激活並使用
3.使用日誌分析器來讀取日誌
0.條件斷點
如果你不知道如何添加斷點,只需點擊左邊面板(行號前面)斷點即被創建。在調試界面中,“斷點”視圖會把所有被創建的斷點列出來。我們可以給它加一個布爾條件,也就是說,該斷點會被激活並且如果布爾條件爲真,就會執行該斷點,否則將會跳過往下執行。
1.異常斷點
在斷點視圖中,有一個J!標記按鈕!我們可以使用該按鈕來添加一個Java異常斷點。例如,我們想讓程序在遇到空指針異常(NullPointerException)時,仍然能繼續調試,那麼我們可以使用該按鈕來添加一個異常斷點!
2.監視點
這是一個非常好的功能,當選定的屬性訪問或修改程序時,程序會停止執行並允許進行調試。在Outline視圖中選擇一個類變量並從上下文菜單中選擇切換監視點,屬性監視點將會被創建,在斷點(Breakpoints)視圖中會把所有監視點用列表的形式顯示出來。
3.評估/檢查
按Ctrl+Shift+D或者Ctrl+Shift+I來顯示選定變量或者表達式的值。我們也可以給一個變量或表達式添加永久觀察點,當程序在調試時,這些觀察點就會在表達式視圖(Expression view)中顯示出來。
4.修改變量值
在調試過程中,我們可以修改變量值。先選好一個變量然後進入變量視圖(Variables view),根據變量類型在其對應的'Value列裏輸入值即可。
5.在Main函數裏面停止執行
在運行/調試設置中,編輯配置對話框中有“Main”這個選項卡,我們可以勾選“Stop in main”這個複選框。如果選中,那麼在調試一個基於main方法的Java程序時,程序會在main方法第一行位置便停止執行。
6.環境變量
並不是在系統屬性中添加環境變量,我們可以在編輯配置對話框中很方便地進行添加。
to Frame
這也是我最喜歡的一個功能。調試期間,可以重新跳到調用堆棧框架的開始處執行,並且變量值也會回到最初。根據回檔調整堆棧的深度,這個功能的主要用途是所有變量狀態可以快速回到方法開始執行時候的樣子,然後你可以重新進行一遍一遍執行,這樣就可以在你關注的地方進行多次調試,但是在執行過程中也會產生一些副作用,比如插入到數據庫裏面的數據是無法刪除的!
8.分佈過濾
當我們進入(F5)方法的時候,我們還可以訪問其外部庫(比如java.*),我們可能不需要這個庫,就可以在Perference選項卡頁面添加一個過濾器來排除這個包。
9.進入、跳出和返回
我把這個放在最後一點,在調試過程中,這些是必須要了解(最好掌握)的東西:
F5——進入:移動到下一個步驟,如果當前行有一個方法調用,該控件將會跳轉到被調用方法的第一行執行。
F6——跳出:移動到下一行。如果在當前行有方法調用,那麼會直接移動到下一行執行。不會進入被調用方法體裏面。
F7——返回:從當前方法中跳出,繼續往下執行。
F8——移動到下一個斷點處執行。
相關文章
-
Java程序員必知的調試10大技巧
Java程序員必知的調試技巧調試可以幫助識別和解決應用程序缺陷,在本文中,小編將使用大家常用的的開發工具Eclipse來調試Java應用程序。但這裏介紹的調試方法基本都是通用的,也適用於NetBeans IDE,我們會把重點放在運行時 -
sun認證java程序員須知Java日誌框架
尊敬的領導:您好,我的名字叫xx,我是xx職業技術學院的一位大二的學生,我所學的專業是計算機網絡。首先我很高興我能有機會向你呈上我的個人資料《附個人資料》。我帶着熱枕的心希望能在貴公司謀求一份合適自己的工作。作爲 -
Java語言程序調試技巧與多線程問題
導語:Java是一種應用於互聯網的分佈式環境的編程語言。Java語言易於使用,而且在編程時採用“以對象爲導向”的方式。下面就由小編爲大家介紹一下Java語言程序調試技巧與多線程問題,歡迎大家閱讀! 1 JaVa語言學習常見 -
Java程序員面試技巧有哪些
面試是我們獲得工作的終極環節,對於求職者來說十分重要。這就需要大家掌握一些面試技巧了,以下是本站小編爲Java程序員分享的面試技巧,希望可以爲您的求職帶來幫助! 面試前對自己的心理暗示:面試並不是考試,只是和未來 -
Sun認證Java程序員考試技巧分享
SCJD則可以看做是高級的Java技術培訓認證,其要求和難度都要高於SCJP,而且,如果你計劃獲得SCJD認證,須先獲得SCJP認證資格。下面是小編整理的關於Sun認證Java程序員考試技巧分享,歡迎大家參考!1)Java 2 Plat Form考試科目是 -
java程序員的學習技巧
有很多的JAVA程序員,在初期學習時,通常會對如何學習而感到迷茫。下面筆者就將轉發一篇一位網友的精品帖,這位作者對於JAVA程序的學習分析的很到位,相信能幫助那些正在處於迷茫狀態的初學者。 培養興趣興趣是能夠讓你堅 -
計算機二級JAVA考試構建JAVA程序2017
總結是事後對某一階段的學習、工作或其完成情況加以回顧和分析的一種書面材料,它可以提升我們發現問題的能力,不如我們來制定一份總結吧。你所見過的總結應該是什麼樣的?下面是小編整理的一月份幼兒園大班工作總結,希望能 -
Sun認證之Java程序員(SCJP)技巧
通過SUN任何一門專業認證後,考生將收到SunMicrosystems總公司寄發的資格證書及徽章,並有權將通過Sun認證的標記印在個人名片上,作爲個人技術能力的肯定。下面是小編整理的關於Sun認證之Java程序員(SCJP)指南,歡迎大家參考 -
Java程序員必須知道的輔助開發工具
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++裏難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。那麼Java程序員必須知道的輔助開發工具都有哪些呢?以下僅供參考!1、 -
java註冊成windows服務程序及簡單java定時關機的程序代碼
本文實例講述了java如何註冊成windows服務程序及一個簡單的java定時關機程序代碼,分享給大家供大家參考。具體方法如下:一、問題:最近想找個軟件來控制電腦的關機時間,在網上找了幾個,都是可視化界面的可以設置具體的關機