FindBugs 是由馬里蘭大學提供的一款開源 Java靜態代碼分析工具。FindBugs經過檢查類文件或 JAR文件,將字節碼與一組缺陷模式進行對比從而發現代碼缺陷,完成靜態代碼分析。FindBugs既提供可視化 UI 界面,同時也能夠做爲 Eclipse插件使用。文本將主要使用將 FindBugs做爲 Eclipse插件。在安裝成功後會在 eclipse中增長 FindBugs perspective,用戶能夠對指定 Java類或 JAR文件運行FindBugs,此時 FindBugs會遍歷指定文件,進行靜態代碼分析。java
安裝步驟:api
1.點擊「Help->InstallNew Software」,以下圖:安全
2.點擊「Add」,而後在彈出框「Name」輸入「findBugs」,「Location」輸入「http://findbugs.cs.umd.edu/eclipse」,點擊「OK」,以下圖:多線程
3.選擇對應插件,而後點擊「next->next->finish」。eclipse
4.完成安裝以後重啓eclipse,右擊項目文件或目錄,會發現多了Findbugs的菜單,以下圖:工具
固然也能夠直接從http://download.csdn.net/detail/hailshao/6593725下載,而後將文件複製到你本地eclipse的plugins目錄,而後重啓eclipse便可。性能
固然也可選擇某一個文件夾,或者整個包和工程..net
配置FindBugs:插件
在這裏能夠對FindBugs規則等進行詳細設置。線程
選擇你的項目,右鍵 => Properties => FindBugs =>
1 Run Automatically開關
當此項選中後,FindBugs將會在你修改Java類時自動運行,如你設置了Eclipse自動編譯開關後,當你修改完Java文件保存,FindBugs就會運行,並將相應的信息顯示出來。
當此項沒有選中,你只能每次在須要的時候本身去運行FindBugs來檢查你的代碼。
2 Detector Configuration選擇項
在這裏你能夠選擇所要進行檢查的相關的Bug Pattern條目,你能夠根據須要選擇或去掉相應的 檢查條件。
3 Minimum priority to report選擇項
這個選擇項是讓你選擇哪一個級別的信息進行顯示,有Low、Medium、High三個選擇項能夠選擇,很相似於Log4J的級別設置啦。 好比:
你選擇了High選擇項,那麼只有是High級別的提示信息纔會被顯示。
你選擇了Medium選擇項,那麼只有是Medium和High級別的提示信息纔會被顯示。
你選擇了Low選擇項,那麼全部級別的提示信息都會被顯示。
4 Report bug categories選擇項
在這裏是一些顯示Bug分類的選擇:
Malicious code vulnerability 關於惡意破壞代碼相關方面的
Correctness 關於代碼正確性相關方面的
Internationalization 關於代碼國際化相關方面的
Performance 關於代碼性能相關方面的
Multithreaded correctness關於代碼多線程正確性相關方面的
大的分類主要包括如下幾種:
Bad practice |
很差的習慣 |
Correctness |
代碼的正確性 |
Dodgy |
小問題 |
Malicious code vulnerability |
惡意代碼 |
Internationalization |
國際化問題 |
Performance |
性能問題 |
Security |
安全性問題 |
Multithreaded currectness |
線程問題 |
Experrimental |
實驗性問題 |