1 、 FindBugs 介紹
FindBugs 是一款 Java 靜態代碼分析工具,與其他靜態分析工具(如 Checkstyle 和 PMD )不同, FindBugs? 不注重樣式或者格式,它專注于尋找真正的缺陷或者潛在的性能問題 , 它可以幫助 java 工程師提高代碼質量以及排除隱含的缺陷。有了靜態分析工具,就可以在不實際運行程序的情況對軟件進行分析。
最新版本是 1.3.9.20090821 ,下載地址 http://findbugs.sourceforge.net/downloads.html 。
FindBugs 運用 Apache?BCEL? 庫分析類文件( class 文件)而不是源代碼,將字節碼與一組缺陷模式進行對比以發現可能的問題。 FindBugs 的檢測器已增至 300 多條,被分為不同的類型,常見的類型如下:
·? 正確性( Correctness ):這種歸類下的問題在某種情況下會導致 bug ,比如錯誤的強制類型轉換等。
·? 最佳實踐反例( Bad?practice ):這種類別下的代碼違反了公認的最佳實踐標準,比如某個類實現了 equals 方法但未實現 hashCode 方法等。
·? 多線程正確性( Multithreaded?correctness ):關注于同步和多線程問題。
·? 性能( Performance ):潛在的性能問題。
·? 安全( Security ):安全相關。
·? 高危( Dodgy ): FindBugs 團隊認為該類型下的問題代碼導致 bug 的可能性很高。
?
2、 在 Eclipse 中安裝 FindBugs 插件
??? 下載 Eclipse?plugin? 的版本, 解壓 zip 文件。
???將解壓后的文件放到 Eclipse 的 Plugin 中。
???重新啟動 Eclipse? 。
?
????我使用的是 MyEclipse8.5 可能路徑和大家的不太一樣,我是放到了路徑 Genuitec/MyEclipse?8.5/dropins 下面
?
?
3、 在 Eclipse 中使用 FindBugs
重新啟動 eclipse
打開 FindBugs 視圖
?
?
執行 Find?Bug? 任務
右鍵單擊你要檢測的工程、包或文件, -->Find?Bugs-->Find?Bugs 。
check 完成后將在 Bug?Explorer 視圖中看到問題列表,該列表以問題類型組織。
?
?
?
展開列表,雙擊列表中具體的問題就可以定位的具體的代碼行。
?
?
?
?
4
、
配置
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
關于代碼多線程正確性相關方面的
另外 FindBugs 有 UI 頁面,可以單獨運行。也可以通過 Ant 以及命令行方式運行。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
