如何調(diào)試Java程序?
大家最開始學(xué)習(xí)Java,都會覺得IDE調(diào)試好高端有木有,其實很簡單了。
下文會盡量簡單直觀的教會你在Eclipse中調(diào)試,其他的IDE調(diào)試步驟也是類似的。
1.在你覺得有錯的地方設(shè)置斷點(diǎn)。
在代碼行數(shù)前,點(diǎn)擊右鍵,注意是右鍵,然后選擇Toggle Breakpoint。
你可能會問,我如何知道在哪兒放置斷點(diǎn)?
2.點(diǎn)擊Debug,如果是web程序,需要你將Tomcat或者Apache服務(wù)器以Debug模式啟動。
這很重要,標(biāo)準(zhǔn)的Start模式,不能進(jìn)入預(yù)先設(shè)置的斷點(diǎn),也就不能達(dá)到調(diào)試的目的。
3.運(yùn)行程序,當(dāng)程序運(yùn)行到剛才設(shè)置斷點(diǎn)的位置就會停下來,并且那行代碼底色會高亮顯示。
這時候,你可以通過屏幕按鈕或者鍵盤控制程序的進(jìn)行。
下面是鍵盤對應(yīng)調(diào)試的快捷鍵,如果不起作用,你可以檢查一下是不是鍵盤沖突。
比如有道詞典的快捷鍵,經(jīng)常會和Debud模式下的Resume沖突。
作用域 功能 快捷鍵
全局 單步返回 F7
全局 單步跳過 F6
全局 單步跳入 F5
全局 單步跳入選擇 Ctrl+F5
全局 調(diào)試上次啟動 F11
全局 繼續(xù) F8
全局 使用過濾器單步執(zhí)行 Shift+F5
全局 添加/去除斷點(diǎn) Ctrl+Shift+B
全局 顯示 Ctrl+D
全局 運(yùn)行上次啟動 Ctrl+F11
全局 運(yùn)行至行 Ctrl+R
全局 執(zhí)行 Ctrl+U
4.進(jìn)入調(diào)試界面可以看到你想要的信息。
5.在Variables里面可以查看所有變量的值,比如剛才設(shè)置的斷點(diǎn)里面的值,右鍵ChangeValue可以更改,部分IDE支持在窗口中熱更改并執(zhí)行代碼。
6.下面按鈕第一個是進(jìn)入方法執(zhí)行,比如你調(diào)用了其他方法,可以進(jìn)入方法一步一步執(zhí)行,如果點(diǎn)擊第二個按鈕,只會在本方法內(nèi)一步一步執(zhí)行,第三個按鈕時你跳出此方法,繼續(xù)執(zhí)行調(diào)用這個方法的原方法,說明如下。
7.執(zhí)行完程序。
一般來說,我們的項目或多或少的都會引用一些外部jar包,如果可以查看jar包的源代碼,對于我們的調(diào)試可以說是事半功倍。
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窗口下,點(diǎn)擊Window > Preferences > Java > JadClipse > Path to Decompiler。
(設(shè)置jad的絕對路徑,例如 C:\Program Files\Jad\jad.exe)
可將Use Eclipse code formatter(overrides Jad formatting instructions)選項打勾,這樣可以與Ctrl+Shif+F格式化出來的代碼樣式一致。
執(zhí)行完這幾個步驟,再在導(dǎo)入自Jar包的類或者方法上點(diǎn)擊查看,就可以查看源代碼了,如果不能,參考下面的解決辦法:
多數(shù)情況下,是eclipse未能自動將JadClipse Class File Viewer設(shè)置成class文件的缺省打開方式。
在Eclipse的Windows——> Perference——>General->Editors->File Associations中修改“*.class”和“*.class without source”默認(rèn)關(guān)聯(lián)的編輯器為“JadClipse Class File Viewer”。
曾經(jīng)配置過幾次jad插件,如果不能反編譯,如此設(shè)置后,屢試不爽。
摘自:
http://www.cnblogs.com/binyue/p/3324524.html