可提高Java開發(fā)性能的5款調(diào)試工具
Java是一種非常強(qiáng)大的編程語言,自問世以來就廣受歡迎。作為現(xiàn)今十分流行的移動平臺——Android的核心語言,它大大促進(jìn)了移動通信行業(yè)的發(fā)展。因此可以肯定,隨著Android平臺的不斷擴(kuò)張,Java開發(fā)人員的需求量也會不斷增加。
這篇文章為大家介紹了多款有用的調(diào)試工具,以供參考。不過,在此之前,先來看看有哪些不同類型的調(diào)試器。
調(diào)試器的類型
-
CLI調(diào)試器(命令行調(diào)試器):GDB、JBD,等等。
-
IDE調(diào)試器(集成開發(fā)環(huán)境調(diào)試器):NetBeans、Eclipse,等等。
-
可構(gòu)建的調(diào)試器:JSwat
-
堆轉(zhuǎn)儲:jmap、MAT
-
歷史調(diào)試
-
動態(tài)跟蹤
-
生產(chǎn)調(diào)試
好,下面就讓我將這些卓越的調(diào)試工具一一道來。
1. JDB
Java Debugger(JDB)是一款高效的調(diào)試器,能夠識別和修復(fù)Java程序中的bug。它也是一個用于Java類的簡單的命令行調(diào)試器。此調(diào)試器包含的Java平臺調(diào)試器體系結(jié)構(gòu)(JPDA)可加強(qiáng)檢查和調(diào)試本地或遠(yuǎn)程的JVM(Java虛擬機(jī))。
JDB也是流行的Java IDE,包括NetBeans IDE和Eclipse IDE來支持Java調(diào)試,因此,非常有助于Java開發(fā)。
官方網(wǎng)站:http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html
2. Bugloo
這款源代碼級的調(diào)試器是專門設(shè)計(jì)用于支持Scheme編譯器——Bigloo的。因此,使用Bigloo編譯器的程序可以高效地使用Bugloo調(diào) 試器進(jìn)行調(diào)試。當(dāng)然,不僅僅是Bigloo程序,還有Java程序或者兩者的結(jié)合都可以使用此調(diào)試工具。它部署在提供了一套標(biāo)準(zhǔn)API的JVM調(diào)試架構(gòu) 上。此專家級軟件還包含了與GDB相同的調(diào)試模型,并提供眾多的功能來幫助我們應(yīng)對當(dāng)代編程語言中的功能問題。
官方網(wǎng)站:http://www-sop.inria.fr/teams/mimosa/fp/Bugloo/
3.Cricket Cage
又一個多功能的調(diào)試器,通過自動生成重復(fù)性bug和測試場景的JUnit測試用例來加強(qiáng)對Java程序的調(diào)試。因此,它可以通過擴(kuò)展生成代碼來提高 我們的工作效率。這更進(jìn)一步地允許安裝代碼生成器和執(zhí)行開發(fā)相應(yīng)測試用例的程序。此外,你還可以通過整合測試用例到build.xml文件中來重復(fù)每一個 構(gòu)建的測試。
官方網(wǎng)站:http://cricketcage.sourceforge.net/
4. Artima SuiteRunner
這是一款發(fā)布在開源軟件許可證下的免費(fèi)開源工具包,非常適合用于測試Java程序。Artima SuiteRunner可當(dāng)作獨(dú)立的測試工具,用 來開發(fā)支持Java API的單元測試和一致性測試。并且,它還可以和JUnit一起來執(zhí)行現(xiàn)有的JUnit測試套件。 JUnit用戶還可享受到由調(diào)試器提供的幫助以確保代碼萬無一失。它提供報(bào)告、配置文件和runpath給用戶,同時堅(jiān)持實(shí)現(xiàn)用戶開發(fā)的JUnit測試用 例。
官方網(wǎng)站:http://www.artima.com/suiterunner/
5. FindBugs
FindBugs是一款執(zhí)行靜態(tài)分析Java代碼來搜尋bug的軟件。該軟件是免費(fèi)的,并且發(fā)布在GNU較寬松公共許可證及其條款下。該調(diào)試器支持 JDK和JRE 1.5.0或更高的版本。此外,此工具還可用于分析編譯為Java版本1.0到1.7的程序。FindBugs軟件正在不斷的改善中,以確保與更高版本的 平臺兼容以及支持最新的版本。
官方網(wǎng)站:http://findbugs.sourceforge.net/
最后的思考
Java調(diào)試是一個很復(fù)雜的領(lǐng)域。市場上可選擇的調(diào)試器類型也不少。希望你能夠根據(jù)自己的業(yè)務(wù)目標(biāo)和編程范圍選擇最適合的調(diào)試工具。