初用FindBugs

初用FindBugs

 

一、概述

FindBugs 是一个静态分析工具,在程序不需运行的情况下,分析class文件,将字节码与一组缺陷模式进行对比,试图寻找真正的缺陷或者潜在的性能问题。

 

二、安装及运行

         要使用FindBugs,请先安装JDK1.4以后的版本。

         1.安装

a.   http://sourceforge.net/的下载最新的FindBugsUnix平台是tar.gz文件,Windows平台是zip文件。

b.  解开下载下来的压缩包,如(Unix平台):

$ tar xzvf findbugs-0.8.4.tar.gz

                   c.设置FINDBUGS_HOME,在Unix平台下,可把如下内容写入用户的.profile文件:

            FINDBUGS_HOME=/home/docomo/findbugs-0.8.4(假定的安装目录)

            export FINDBUGS_HOME

    2.运行

执行${FINDBUGS_HOME}/bin/findbugs即可启动findbugs图形界面,由于图形界面操作比较简单,不再赘述。

 

三、在ANT中使用FindBugs

1.  FindBugs ANT任务拷贝到ANTlib目录,这样ANT就知道新的任务。

$ cp ${FINDBUGS_HOME}/lib/FindBugs_ant.jar ${ANT_HOME}/lib

       2 因为FindBugs是一个自定义任务,将需要使用taskdef任务以使 Ant 知道装载哪一个类。

        在ANT的build.xml中加入以下内容:

    <taskdef name="findbugs" classname="edu.umd.cs.FindBugs.anttask.FindBugsTask"/>

        定义了taskdef后,就可用名字findbugs引用了。

   3.在build文件用使用新任务findbugs

       <target name="FindBugs" depends="compile">
    
    
       <FindBugs home="${FindBugs.home}" output="xml" outputFile="/home/docomo/report/findbugs.xml">
    
    
                   <class location="/home/docomo/dist/SimulatorEL.jar" />
    
    
                <auxClasspath path="${project.lib}/d3apf.jar" />
    
    
                   <sourcePath path="/home/docomo/SimulatorEL/src" />
    
    
                 </FindBugs>
    
    

      </target>

        说明如下:

a.  FindBugs处理的是类文件而不是源文件,因此需要先编译,depends=”compile”FindBugs 可以灵活地接受多种输入,包括一组类文件、JAR 文件、或者一组目录;

b.  可选属性 output 指定 FindBugs 的结果使用的输出格式,格式可为xmltxtemacs

c.  class 元素用于指定要 FindBugs 分析哪些 JAR、类文件或者目录。分析多个 JAR 或者类文件时,要为每一个文件指定一个单独的 class 元素。

d.  auxClasspath列出应用程序需要但不希望 FindBugs 分析的类,如编译所需的JAR包等。

e.  如果指定了 sourcePath 元素,那么 path 属性应当表明一个包含应用程序源代码的目录。指定目录使 FindBugs 可以在 GUI 中查看 XML 结果时突出显示出错的源代码。这个元素是可选的。

 

使用FindBugs的图形界面打开输出的文件/home/docomo/report/findbugs.xml,即可看到FindBugs分析出的bug。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.m或d论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 、1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值