您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 软件测试之静态分析工具
静态检测工具PC-Lint由安博测试空间技术中心提供《软件测试与质量保证》SEIofECNU孙海英版权所有©静态分析工具-2内容大纲讨论与静态检测工具PC-Lint相关的内容简介安装基本使用1.命令行2.编辑器3.消息说明多文件检测《软件测试与质量保证》SEIofECNU孙海英版权所有©静态分析工具-3PC-Lint简介工具说明GimpelSoftware公司出品的一款针对C/C++的静态代码检测工具(基于ANSIC/C++),支持几乎所有流行C/C++的编辑环境和编译器,是“一种更严格的编译器”,可以检查出1.一般的语法错误2.完全符合语法要求,但是很可能是潜在的,不易发现的错误PC-Lint产生的检测信息1.编号1000的错误号是分配给C语言的,编号1000的用来说明C++的错误消息2.消息的具体内容可以从安装目录下的msg.txt文件获得或者从手册中的第17章也有相关的描述《软件测试与质量保证》SEIofECNU孙海英版权所有©静态分析工具-4消息说明PC_Lint消息说明《软件测试与质量保证》SEIofECNU孙海英版权所有©静态分析工具-5案例《软件测试与质量保证》SEIofECNU孙海英版权所有©静态分析工具-6检测通过准则示例以下警告信息不能出现编号为1-199的警告:语法错误未初始化警告:530、644-645、727-729、1401-1403(未初始化、可能未初始化、未精确初始化、成员未初始化)返回值:533(函数(不)应该返回数值)比较:568、775(非负数与0比较)、650(超出比较范围)声明:578(局部变量与全局变量同名,可读性下降)《软件测试与质量保证》SEIofECNU孙海英版权所有©静态分析工具-7检测通过准则示例以下警告信息需要确认布尔值:503、774(恒真/假比较)精度损失:569、734、732、571、616(丢失符号位)返回值:534(函数没有返回值类型,可用voidfunction())边界值:661、662(指针越界读写)空指针:413、613、668(空指针引用、空指针传递)Switch语句:744、787(没有default分支,Switch中没有用到枚举常量)未使用的代码和变量:527-529、715、550-552、752《软件测试与质量保证》SEIofECNU孙海英版权所有©静态分析工具-8安装步骤运行安装程序,将PC-Lint相关内容释放到指定的安装目录,如c:\pclint设置配置项1.选择配置路径。如C:\PCLint2.选择编译器。如“MicrosoftVisualC++7.x(co-msc70.lnt)”。如果没有自己使用的编译器,可选择通用编译器“GenericCompilers”(co.lnt)。3.选择内存模式。例如,开发环境是32位的Windows,选择“32-bitFlatModel”4.选择在编译时使用的库,例如常用的ATL、MFC、STL等(lib-atl.lnt…)《软件测试与质量保证》SEIofECNU孙海英版权所有©静态分析工具-9安装步骤设置配置项5.选择专家的编程建议(ScottMeyersEffectiveC++)6.选择并设置包含文件目录使用INCLUDE环境变量使用“-i”选项,会出现在Std.lnt如果选择使用-i方式协助设置包含文件选项,就会要求输入一个或多个包含路径。跳过这一步,以后手工修改7.如果还需要创建其它编译器的配置文件的话,重复步骤2-68.配置选项文件Options.lnt,该文件反映了全局编译信息显示的情况生成空的Options.lnt(不取消一些核心选项)根据安装程序的提示逐一确定是否取消一些核心选项《软件测试与质量保证》SEIofECNU孙海英版权所有©静态分析工具-10安装验证验证安装当前目录设置为test\filea.cpp和filec.cpp在命令行模式运行:lint-ntfilea.cppfileb.cpp,如果出现下面的结果说明安装正常《软件测试与质量保证》SEIofECNU孙海英版权所有©静态分析工具-11PC-Lint的使用方式命令行方式直接使用lint/lint-nt命令1.在DOS下使用lint2.在Windows下使用lint-ntoptionfile1[file2file3…..]d:\project\codelint-nt–uunit.cd:\project\code2lint-nt–w2filea.cppfileb.cppOption选项:错误禁止、变量类型大小、冗余信息、标记选项和其它使用Lin.bat文件《软件测试与质量保证》SEIofECNU孙海英版权所有©静态分析工具-12与UltraEditor集成步骤1.菜单选择:Advanced-ToolConfiguration…2.在CommandLine中输入:c:\lint\lint-nt-i“c:\lint“std.lnt%F3.在MenuItem中填写:PC-LINT4.单击“Insert”5.单击“OK”《软件测试与质量保证》SEIofECNU孙海英版权所有©静态分析工具-13与VS.Net2003集成步骤1.菜单选择:工具-外部工具2.在外部工具对话框中:单击”添加”3.在标题文本框中输入PC-LINT4.在命令文本框中输入c:\pclint\lint-nt.exe5.在参数文本框中输入:-ic:\lintstd.lntenv-vc7.lnt$(ItemFileName)$(ItemExt)“$(ItemFileName)“6.在初始目录中输入$(ItemDir)7.选择“使用输出窗口”8.单击“应用”9.单击“确定”《软件测试与质量保证》SEIofECNU孙海英版权所有©静态分析工具-14检测项目步骤1.生成与项目相关的包含所有cpp/c文件的XXX.lnt文件2.运行Pc-Lint对XXX.lnt文件检查项目中所有代码《软件测试与质量保证》SEIofECNU孙海英版权所有©静态分析工具-15生成项目文件清单步骤1.菜单选择:工具-外部工具2.在外部工具对话框中:单击”添加”3.在标题文本框中输入PC-LINTPRJ4.在命令文本框中输入c:\pclint\lint-nt.exe5.在参数文本框中输入:-v-os($(TargetName).lnt)$(ProjectFileName)6.在初始目录中输入$(ProjectDir)7.选择“使用输出窗口”8.单击“应用”9.单击“确定”《软件测试与质量保证》SEIofECNU孙海英版权所有©静态分析工具-16检测项目步骤1.菜单选择:工具-外部工具2.在外部工具对话框中:单击”添加”3.在标题文本框中输入PC-LINTPRJ4.在命令文本框中输入c:\pclint\lint-nt.exe5.在参数文本框中输入:-ic:\lintstd.lntenv-vc7.lnt$(TargetName).lnt6.在初始目录中输入$(ProjectDir)7.选择“使用输出窗口”8.单击“应用”9.单击“确定”
本文标题:软件测试之静态分析工具
链接地址:https://www.777doc.com/doc-4004834 .html