試可以幫助識別和解決應(yīng)用程序缺陷,在本文中,作者將使用大家常用的的開發(fā)工具Eclipse來調(diào)試Java應(yīng)用程序。但這里介紹的調(diào)試方法基本都是通用的,也適用于NetBeans IDE,我們會把重點(diǎn)放在運(yùn)行時上面。
在本文中使用的是Eclipse Juno版(Eclipse 4.2),在開始前給大家提3點(diǎn)建議!
不要使用System.out.println作為調(diào)試工具
把所有涉及到的組件日志級別激活并使用
使用日志分析器來讀取日志
1.條件斷點(diǎn)
如果你不知道如何添加斷點(diǎn),只需點(diǎn)擊左邊面板(行號前面)斷點(diǎn)即被創(chuàng)建。在調(diào)試界面中,“斷點(diǎn)”視圖會把所有被創(chuàng)建的斷點(diǎn)列出來。我們可以給它加一個布爾條件,也就是說,該斷點(diǎn)會被激活并且如果布爾條件為真,就會執(zhí)行該斷點(diǎn),否則將會跳過往下執(zhí)行。
2.異常斷點(diǎn)
在斷點(diǎn)視圖中,有一個J!標(biāo)記按鈕!我們可以使用該按鈕來添加一個Java異常斷點(diǎn)。例如,我們想讓程序在遇到空指針異常(NullPointerException)時,仍然能繼續(xù)調(diào)試,那么我們可以使用該按鈕來添加一個異常斷點(diǎn)!
3.監(jiān)視點(diǎn)
這是一個非常好的功能,當(dāng)選定的屬性訪問或修改程序時,程序會停止執(zhí)行并允許進(jìn)行調(diào)試。在Outline視圖中選擇一個類變量并從上下文菜單中選擇切換監(jiān)視點(diǎn),屬性監(jiān)視點(diǎn)將會被創(chuàng)建,在斷點(diǎn)(Breakpoints)視圖中會把所有監(jiān)視點(diǎn)用列表的形式顯示出來。
4.評估/檢查
按Ctrl+Shift+D或者Ctrl+Shift+I來顯示選定變量或者表達(dá)式的值。我們也可以給一個變量或表達(dá)式添加永久觀察點(diǎn),當(dāng)程序在調(diào)試時,這些觀察點(diǎn)就會在表達(dá)式視圖(Expression view)中顯示出來。
5.修改變量值
在調(diào)試過程中,我們可以修改變量值。先選好一個變量然后進(jìn)入變量視圖(Variables view),根據(jù)變量類型在其對應(yīng)的Value列里輸入值即可。