點擊OK之後,可以看到該斷點的圖標也有所改變。
根據這裡的設置,當程序運行到第20行後會在第12行被中斷,盡管這裡沒有顯式的斷點,但這就是setValue()方法的入口(Entry)。必須注意地是,程序在運行到第16行時不會被中斷,盡管它看起來像是setValue()方法的出口(Exit)。實際上,程序會在第17行被中斷,這裡才是setValue()調用結束的地方。
5. Exception Breakpoint
如果,我們期望某個特定異常發生時程序能夠被中斷,以方便查看當時程序所處的狀態。通過設置Exception Breakpoint就能達到這一目標。本示例故意在第23行拋出了IllegalArgumentException異常,我們期望程序運行到此處時會被中斷。但我們不直接為此行代碼設置Line Breakpoint,而是為IllegalArgumentException設置Exception Breakpoint。設置Exception Breakpoint的方法與其它類型斷點都不同,它不能通過雙擊左側欄的方式在代碼編輯器上直接進行設置。點擊Breakpoints視圖右上角形如Ji的圖標,
會彈出如下所示的對話框,
在其中選中IllegalArgumentException,並點擊OK,這時一個Exception Breakpoint就設置好了。
當value為3的倍數時,程序會在第23行被中斷,這時我們就能使用調試器來看看value具體是等於0,3或6。
6. Class Load Breakpoint
還有一種大家平時可能不太用的斷點--Class Load Breakpoint,即當某個類被加載時,通過該斷點可以中斷程序。
小 結
上述的Eclipse斷點,我們在現實工作中肯定都有意或無意地使用過其中的幾種,只是不一定十分了解內情罷了。使用好Eclipse的各種斷點,可以把很好地幫助我們分析程序,定位問題。