`
阅读更多

当我们编写完代码,做完单元测试等各种测试后就提交正式运行,只能由运行的系统来检测我们代码是否有问题了,代码中隐藏的错误在系统运行的过程中被发现后,然后再来进行相应的修改,那么后期修改的代价就相当高了。

  现在有很多Java代码分析工具,FindBugs中开源项目当中的一个,它可以帮你找到代码中隐藏的一些错误,提升你的代码能力与系统安全可靠性。

  安装

  JDK:1.5.0 从http://java.sun.com上去下载安装

  Eclipse:3.1.1 从http://www.eclipse.org 上去下载解压

  FindBugs:0.9.4 从http://findbugs.sourceforge.net/

  官方的文档 http://findbugs.sourceforge.net/manual/

  Eclipse plugin for FindBugs version 0.0.17 从 http://findbugs.sourceforge.net/downloads.html 下载

  插件管理技巧

  提示:新下载的插件PlugIn一定不要都放在原始的Eclipse目录下去。

  1. 前提是你已经安装好了Eclipse工具了,比如安装在E:\OpenSource\Eclipse\目录下,以下这个目录以%ECLIPSE_HOME%来进行表示;
  2. 此时默认的插件是在%ECLIPSE_HOME%\plugins目录中的;
  3. 在%ECLIPSE_HOME%下建立一个PlugInsNew的目录;
     比如:E:\OpenSource\Eclipse\PlugInsNew\
  4. 你下载了个新的插件,比如叫做:XYZ
      那么就在%ECLIPSE_HOME%\PlugInsNew\目录下建立XYZ目录,目录里面是eclipse目录,eclipse目录包含有features与plugins两个子目录;结构如下图所示:
点击在新窗口中浏览此图片
  5. 把下载的新插件的文件放在以下相应目录中
     %ECLIPSE_HOME%\PlugInsNew\XYZ\eclipse\features
     %ECLIPSE_HOME%\PlugInsNew\ XYZ\eclipse\plugins
  6. 建立相关的.link的文件
     然后在%ECLIPSE_HOME%\links目录里建立一个XYZ.link的文件
     内容如是:path=E:/OpenSource/Eclipse/PlugInsNew/XYZ就一行这样的路径指示而已。
     当然,采用相对路径来表示可能更直观一些,方便进行文件整体移动和小组全部成员的共享命名用,省得移动后要改动Link文件里的绝对路径而费心费力。直接拷贝过去就可以使用。
     即XYZ.link文件的内容如是:path=../PlugInsNew/XYZ
     这样,如果你下载了多个插件就可以如法炮制建立多个Link文件,想加载哪个插件就把哪个插件的Link文件放到%ECLIPSE_HOME%\links的目录中即可,使用与管理都很方便,建议千万不要放在默认的安装目录中;
     如果你的%ECLIPSE_HOME%与此不同,请修改XYZ.link文件里的路径
  7. 删除,关闭Eclipse
     删除%ECLIPSE_HOME%\links\XYZ.link文件即可
     删除%ECLIPSE_HOME%\PlugInsNew\XYZ整个目录及文件
  8. 重新启动Eclipse即可 

  使用

  重新启动Eclipse后,在Help => About Eclipse SDK => Plug-in Details你可以看到由“FindBugs Project”提供的“FindBugs Plug-in”版本0.0.17插件,如下图所示:
点击在新窗口中浏览此图片
FindBugs的使用方法

  FindBugs是一个可以在Java程序中发现Bugs的程序。

  它是专门用来寻找处于“Bug Patterns”列表中的代码的。

  Bug Patterns指很有可能是错误的代码的实例。

  目前FindBugs最高版本1.1.3,不过更新速度很快的,你应当经常上去看看是否有新版本发布。Eclipse plugin for FindBugs最高版本1.1.3。

  系统要求

  使用FindBugs至少需要JDK1.4.0以上版本,FindBugs是平台独立的,可以运行于GNU/Linux、Windows、MacOS X 等平台上。

  运行FindBugs至少需要有256 MB内存,如果你要分析一个很大的项目,那就需要更加多的内存了。

  FindBugs独立运行和与Ant结合的详细操作就不介绍了,可以看官方的文档http://findbugs.sourceforge.net/manual/

  独立运行的效果图如下:
点击在新窗口中浏览此图片 
本文主要介绍在Eclipse中使用的情况

  打开Bug Details视图

  Windows => Show View => Other… => FindBugs => BugDetails
点击在新窗口中浏览此图片

在Package Explorer或Navigator视图中,选中你的Java项目,右键,可以看到“Find Bugs”菜单项,子菜单项里有“Find Bugs”和“Clear Bug Markers”两项内容,如下图所示:
点击在新窗口中浏览此图片

我们建立一个简单的测试文件Test.java 内容如下:

public class Test 

private String[] name; 
public String[] getName() 

return name; 


public void setName(String[] name) 

this.name = name; 




  我们点中“Find Bugs”,运行时会出现如下进度框:

  运行结束后可以在Problems中看到增加了如下的警告信息内容

  FindBugs运行后的警告信息内容不仅在Problems视图中显示,而且将标记在源代码标记框中,在源代码编辑器中我们可以看到警告标识,如下图:

  当光标指向你的警告信息的代码上面时,就会有相应的错误提示信息,与Eclipse本身的错误或警告信息提示类似。

  选中Problems视图里出现的相应问题,就会在代码编辑器里切换到相应的代码上去,方便根据相应的提示信息进行代码的修改。
点击在新窗口中浏览此图片

   在Problems视图里,选中相应的问题条目,右键,在弹出的菜单中,可以看到“Show Bug Details”,如下图所示:
点击在新窗口中浏览此图片

     点中它,会切换到Bug Details视图上去,显示更加详细的提示信息。

  当然,在代码编辑窗口中,点击带有警告提示信息的图标时,也会自动切换到Bud Details窗口去,查看详细的警告信息,如下图所示。
点击在新窗口中浏览此图片

     根据这里详细的信息,你可以得到FindBugs为什么会对你的代码报警告信息,及相应的处理办法,根据它的提示,你可以快速方便地进行代码修改。
点击在新窗口中浏览此图片

根据提示,我们将代码修改成如下,再运行就不会报有警告信息了。

public class Test
{
      private String[] name;
      public String[] getName()
    {
       String[] temp 
= name;
       return temp;
    }


    public void setName(String[] name)
    {
       String[] temp 
= name;
        this.name = temp;
    }

}
 


  配置FindBugs

  选择你的项目,右键 => Properties => FindBugs =>
点击在新窗口中浏览此图片

可以配置的信息包括如上图所示的四个选项的相关设置:

  1. Run FindBugs Automatically开关

     当此项选中后,FindBugs将会在你修改Java类时自动运行,如你设置了Eclipse自动编译开关后,当你修改完Java文件保存,FindBugs就会运行,并将相应的信息显示出来。

     当此项没有选中,你只能每次在需要的时候自己去运行FindBugs来检查你的代码。

  2. Minimum priority to report选择项

     这个选择项是让你选择哪个级别的信息进行显示,有Low、Medium、High三个选择项可以选择,很类似于Log4J的级别设置啦。 比如:

     你选择了High选择项,那么只有是High级别的提示信息才会被显示。

     你选择了Medium选择项,那么只有是Medium和High级别的提示信息才会被显示。

     你选择了Low选择项,那么所有级别的提示信息都会被显示。

  3. Enable bug categories选择项

     在这里是一些显示Bug分类的选择:

     Correctness关于代码正确性相关方面的

     Performance关于代码性能相关方面的

     Internationalization关于代码国际化相关方面的

     Multithreaded correctness关于代码多线程正确性相关方面的

     Style关于代码样式相关方面的

     Malicious code vulnerability关于恶意破坏代码相关方面的

     比如:如果你把Style的检查框去掉不选择中它,那么与Style分类相关的警告信息就不会显示了。其它的类似。

  4. Select bug patterns to check for选择项

     在这里你可以选择所要进行检查的相关的Bug Pattern条目

     可以从Bug codes、Detector name、Detector description中看到相应的是要检查哪些方面的内容,你可以根据需要选择或去掉相应的 检查条件。 

  总结

  此插件的功能很不错,可以帮助我们提升Java代码的编写能力,写出更加安全可靠的代码。建议使用或加在Ant里进行持续构建。

  现在,你可以马上拿出你已经开发的一个项目,检查一下你的代码有没有问题了。
刚刚发现了另外一种更加简单的安装方法,详情见:http://findbugs.cs.umd.edu/eclipse 
   If you have previously installed a version of the FindBugs plugin prior to mid-May, 2006, then you should remove it first. Simply remove the de.tobject.findbugs_0.0.n directory from Eclipse's plugins directory.

To install the FindBugs plugin:

  1. In Eclipse, click on Help -> Software Update -> Find and Install...
  2. Choose the Search for new features to install option, and click Next.
  3. Click New Remote Site.
  4. Enter the following:
         * Name: FindBugs update site
         * URL: one of the following (note: no final slash on the url)
               o http://findbugs.cs.umd.edu/eclipse for official releases
               o http://findbugs.cs.umd.edu/eclipse-candidate for candidate releases and official releases
               o http://findbugs.cs.umd.edu/eclipse-daily for all releases, inculding developmental ones
     and click OK.
  5. "FindBugs update site" should appear under Sites to include in search.
     Click the checkbox next to it to select it, and click Finish.
  6. You should see FindBugs Feature under Select features to install.
     (You may have to click on one or two triangles to make it visible in the tree.)
     Select the checkbox next to it and click next.
  7. Select the I accept option to accept the license and click Next.
  8. Make sure the location is correct where you're installing it. The default (your workspace) should be fine. Click Finish.
  9. The plugin is not digitally signed. Go ahead and install it anyway.
 10. Click Yes to make Eclipse restart itself.


分享到:
评论

相关推荐

    Findbug使用指南.docx

    Findbug 使用指南 Findbug 是一个开源的 Eclipse 代码检查工具,能够简单高效全面地帮助我们发现程序代码中存在的 bug、bad smell 以及潜在隐患。它提供了简单的修改意见供我们重构时进行参考,通过使用它,可以...

    findBug 程序测试使用

    发现程序中的bug,此html对此用stanford的软件进行介绍分析

    findbug3下载

    5. **许可证和文档**:包含了关于FindBug3的使用许可和详细的操作手册,帮助用户更好地理解和使用工具。 总的来说,FindBug3是一款强大的辅助开发工具,它通过静态代码分析,帮助开发者在早期阶段就发现并修复问题...

    eclipse中FindBugs_安装使用

    ### Eclipse中FindBugs的安装与使用详解 #### 一、FindBugs简介 FindBugs是一款用于检测Java代码潜在缺陷的强大工具。它能够帮助开发者及时发现并修复代码中的问题,提高软件的质量和稳定性。FindBugs支持多种版本...

    eclipse 3 findbug 插件

    eclipse,findbug, 插件,找錯eclipse,findbug, 插件,找錯eclipse,findbug, 插件,找錯eclipse,findbug, 插件,找錯eclipse,findbug, 插件,找錯

    findbug2.0版本

    使用FindBug时,开发者可以自定义错误过滤器,根据项目需求决定关注哪些类型的错误。此外,FindBug还可以与其他持续集成工具(如Jenkins)结合,实现自动化代码质量检查。这有助于在早期阶段发现并解决潜在问题,...

    Findbug-eclipse插件安装及使用说明

    【FindBugs Eclipse 插件安装与使用指南】 在Java开发过程中,确保代码质量是至关重要的,这不仅可以提高软件的稳定性,也有助于减少维护成本。FindBugs是一款强大的静态代码分析工具,它能帮助开发者在编码阶段就...

    findbug1.3.9

    for eclipse 3.5+。这个经典的插件就不用多说了,当然还有checkstyle。让我们的代码更漂亮吧。 插件安装时,我们只需在eclipse根目录下新建一个【links】目录,然后在里面创建【.link】扩展名的文件,在里面写上类似...

    静态代码检查插件之findbug

    【静态代码检查插件之findbug】 在软件开发过程中,静态代码分析是一种常见的质量保证手段,它能够在程序运行前发现潜在的问题。FindBugs就是这样一款强大的静态代码检查工具,专门用于检测Java代码中的bug和设计...

    静态代码分析工具 findbug

    7. **废弃的API使用(Use of deprecated API)**:FindBugs会检查代码中是否存在已废弃的API调用,鼓励使用更新的API。 8. **不正确的异常处理(Improper exception handling)**:如捕获所有异常但未处理,或者...

    eclipse findbug插件

    Eclipse FindBugs 插件是一款强大的静态代码分析工具,专为Java开发者设计,用于检测潜在的...对于使用MyEclipse 8的开发者来说,安装这个特定版本的插件可以享受到FindBugs的最新功能,从而增强开发环境的分析能力。

    findbug代码走查过滤注释类

    将类引入项目,在不想用findbug检查的代码类或方法上,添加该注释

    findbug插件自动排查简单bug.rar

    该插件的使用可以极大地提高代码质量和开发效率,减少因bug引发的问题。 在Java开发过程中,FindBugs能够通过分析字节码而非源代码来查找可能存在的问题,这使得它不仅适用于源代码的检查,还能用于已编译但未运行...

    findbug 常见异常处理

    处理方式:确认此局部变量是否会被使用,如果确实不会被用到,请去掉,和 Dead store to local variable一样处理,只是这里针对的是不是局部变量; Call to static DateFormat 描述:调用静态的DateFormat对象 处理...

    FindBug的安装与应用(Eclipse 、MyEclipse)

    **FindBug的安装与应用(Eclipse、MyEclipse)** FindBugs是一款强大的静态代码分析工具,用于检测Java代码中的潜在错误和不良编程习惯。它通过分析字节码而非源代码,可以在编码阶段提前发现潜在的bug,提高软件质量...

    findbug 错误日志文档

    findbug的错误日志文档 如: Bug: Call to method of static java.text.DateFormat Pattern id: STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE, type: STCAL, category: MT_CORRECTNESS As the JavaDoc states, ...

    java代码质量检测工具包含findbug、pmd插件等

    PMD可以检查代码中的常见问题,如冗余代码、未使用的变量、过于复杂的表达式等。它有一套预定义的规则集,涵盖了许多最佳实践,并且允许用户根据自己的需求定制规则。PMD可以通过插件形式整合到多种IDE中,包括...

    FindBug检查问题指南.docx

    《FindBug检查问题指南》 FindBugs是一款静态分析工具,用于检测Java代码中的潜在错误和不良编程习惯。本指南将深入探讨FindBugs在实际使用中遇到的一些常见问题,并提供解决方案。 首先,我们来看一个关于`String...

    findBug eclipse

    "findBug eclipse" 是一个专为Eclipse集成开发环境设计的插件,它的全称是edu.umd.cs.findbugs.plugin.eclipse。这个插件版本号为1.3.6,发布日期为2008年11月13日。它的主要功能是帮助开发者在编码阶段发现潜在的...

Global site tag (gtag.js) - Google Analytics