如何偵錯Java程式?
大家最開始學習Java,都會覺得IDE調試好高階有木有,其實很簡單了。
下文會盡量簡單直覺的教會你在Eclipse中調試,其他的IDE調試步驟也是類似的。
1.在你覺得有錯的地方設定斷點。
在程式碼行數前,點選右鍵,注意是右鍵,然後選擇Toggle Breakpoint。
你可能會問,我如何知道在哪裡放置斷點?
如果對這個問題完全沒有感覺,你完全可以多打幾個斷點,單步調試直到找到異常,只是多花一點時間而已,而且這樣可以更深入了解程式的執行過程!
當然,如果你大致可以直到哪裡可能會出問題,或者異常訊息報告類別位置,那麼就可以在這裡設定斷點。
2.點選Debug,如果是web程序,需要你將Tomcat或Apache伺服器以Debug模式啟動。
這很重要,標準的Start模式,不能進入預先設定的斷點,也就不能達到調試的目的。
3.運行程序,當程式運行到剛才設定斷點的位置就會停下來,並且那行程式碼底色會高亮顯示。
這時候,你可以透過螢幕按鈕或鍵盤控製程式的進行。
下面是鍵盤對應偵錯的快速鍵,如果不起作用,你可以檢查一下是不是鍵盤衝突。
像是有道字典的快速鍵,常常會和Debud模式下的Resume衝突。
作用域功能快速鍵
全步驟回傳F7
全域單步跳過F6
全域單步跳入F5
全域單步跳入選擇Ctrl F5
全域偵錯上次啟動F11
全域繼續F8
全域使用濾波器單步執行Shift F5
全域新增/移除斷點Ctrl Shift B
#全域顯示Ctrl D
全域運作上次啟動Ctrl F11
全域運作至行Ctrl R
全域執行Ctrl U
4.進入偵錯介面可以看到你想要的資訊。
5.在Variables裡面可以查看所有變數的值,例如剛才設定的斷點裡面的值,右鍵ChangeValue可以更改,部分IDE支援在視窗中熱更改並執行程式碼。
6.下面按鈕第一個是進入方法執行,例如你呼叫了其他方法,可以進入方法一步一步執行,如果點擊第二個按鈕,只會在本方法內一步一步執行,第三個按鈕時你跳出此方法,繼續執行呼叫這個方法的原方法,說明如下。
7.執行完程式。
8.為Eclipse添加反編譯插件,更好的調試
一般來說,我們的專案或多或少的都會引用一些外部jar包,如果可以查看jar包的源代碼,對於我們的調試可以說是事半功倍。
1、下載並安裝jad.exe。將jad.exe解壓縮到程式目錄(可以放置任意目錄),例如:C:\Program Files\Jad\jad.exe。
2、安裝jadclipse外掛程式。下載並解壓縮net.sf.jadclipse_3.3.0.jar,將其拷貝到eclipse\plugins目錄下,重新啟動eclipse。
3、設定jadclipse。在eclipse視窗下,點選Window > Preferences > Java > JadClipse > Path to Decompiler。
(設定jad的絕對路徑,例如C:\Program Files\Jad\jad.exe)
可將Use Eclipse code formatter(overrides Jad formatting instructions)選項打勾,這樣可以與Ctrl Shif F格式化出來的程式碼樣式一致。
執行完這幾個步驟,再在導入自Jar包的類別或方法上點選查看,就可以查看原始碼了,如果不能,參考下面的解決方法:
#多數情況下,是eclipse未能自動將JadClipse Class File Viewer設定成class檔案的預設開啟方式。
在Eclipse的Windows——> Perference——>General->Editors->File Associations中修改「*.class」和「*.class without source」預設關聯的編輯器為「JadClipse Class File Viewer」。
曾經配置過幾次jad插件,如果無法反編譯,如此設定後,屢試不爽。
以上是Java Eclipse進行斷點調試的詳細內容。更多資訊請關注PHP中文網其他相關文章!