FindBugs的安装及使用

时间:2022-02-23 22:07:23

FindBugs是一个静态分析工具,它检查类或者JAR文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用Visitor模式。
在FindBugs的GUI中,需要先选择待扫描的.class文件(FindBugs其实就是对编译后的class进行扫描,藉以发现一些隐藏的bug。)。如果你拥有这些.class档对应的源文件,可把这些.java文件再选上,这样便可以从稍后得出的报告中快捷的定位到出问题的代码上面。此外,还可以选上工程所使用的library,这样似乎可以帮助FindBugs做一些高阶的检查,藉以发现一些更深层的bug。
选定了以上各项后,便可以开始检测了。检测的过程可能会花好几分钟,具体视工程的规模而定。检测完毕可生成一份详细的报告,藉由这份报告,可以发现许多代码中间潜在的bug。比较典型的,如引用了空指针(null pointer dereference), 特定的资源(db connection)未关闭,等等。如果用人工检查的方式,这些bug可能很难才会被发现,或许永远也无法发现,直到运行时发作…当除掉了这些典型的(classic) bug后,可以确信的是,我们的系统稳定度将会上一个新的台阶。

这里简单介绍FindBugs作为Eclipse插件在Eclipse-Luna-SR2中的安装和使用方法。

还是在我们熟悉的老地方:Help->Install New Software...中填写地址,这次填写的地址为:http://findbugs.cs.umd.edu/eclipse,这个地址是官方版本,大家也可以尝试候选版:http://findbugs.cs.umd.edu/eclipse-candidate,或者所有公布版本:http://findbugs.cs.umd.edu/eclipse-daily;

顺利的索引到了FindBugs后,我们老规矩,Next->Next->Accept->Finish->OK->Yes,重启后大功告成!

使用方法还是一如既往的便利,右击项目,选择Find Bugs->Find Bugs即可进行Bugs检测了~