首頁 > Java > java教程 > 主體

Java Eclipse進行斷點調試

(*-*)浩
發布: 2019-10-25 16:36:33
轉載
3587 人瀏覽過

如何偵錯Java程式?

大家最開始學習Java,都會覺得IDE調試好高階有木有,其實很簡單了。

下文會盡量簡單直覺的教會你在Eclipse中調試,其他的IDE調試步驟也是類似的。

Java Eclipse進行斷點調試

1.在你覺得有錯的地方設定斷點。

在程式碼行數前,點選右鍵,注意是右鍵,然後選擇Toggle Breakpoint。

Java Eclipse進行斷點調試

你可能會問,我如何知道在哪裡放置斷點?

如果對這個問題完全沒有感覺,你完全可以多打幾個斷點,單步調試直到找到異常,只是多花一點時間而已,而且這樣可以更深入了解程式的執行過程!

當然,如果你大致可以直到哪裡可能會出問題,或者異常訊息報告類別位置,那麼就可以在這裡設定斷點。

2.點選Debug,如果是web程序,需要你將Tomcat或Apache伺服器以Debug模式啟動。

這很重要,標準的Start模式,不能進入預先設定的斷點,也就不能達到調試的目的。

Java Eclipse進行斷點調試

3.運行程序,當程式運行到剛才設定斷點的位置就會停下來,並且那行程式碼底色會高亮顯示。

Java Eclipse進行斷點調試這時候,你可以透過螢幕按鈕或鍵盤控製程式的進行。

下面是鍵盤對應偵錯的快速鍵,如果不起作用,你可以檢查一下是不是鍵盤衝突。

像是有道字典的快速鍵,常常會和Debud模式下的Resume衝突。

作用域功能快速鍵 

全步驟回傳F7 

全域單步跳過F6 

全域單步跳入F5 

全域單步跳入選擇Ctrl F5 

全域偵錯上次啟動F11 

全域繼續F8 

全域使用濾波器單步執行Shift F5 

全域新增/移除斷點Ctrl Shift B 

#全域顯示Ctrl D 

全域運作上次啟動Ctrl F11 

全域運作至行Ctrl R 

全域執行Ctrl U

4.進入偵錯介面可以看到你想要的資訊。

Java Eclipse進行斷點調試

5.在Variables裡面可以查看所有變數的值,例如剛才設定的斷點裡面的值,右鍵ChangeValue可以更改,部分IDE支援在視窗中熱更改並執行程式碼。

Java Eclipse進行斷點調試

6.下面按鈕第一個是進入方法執行,例如你呼叫了其他方法,可以進入方法一步一步執行,如果點擊第二個按鈕,只會在本方法內一步一步執行,第三個按鈕時你跳出此方法,繼續執行呼叫這個方法的原方法,說明如下。

Java Eclipse進行斷點調試

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中文網其他相關文章!

相關標籤:
來源:csdn.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板