白盒测试工具clin_第1页
白盒测试工具clin_第2页
白盒测试工具clin_第3页
白盒测试工具clin_第4页
白盒测试工具clin_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

白盒测试工具PclintPclintPCLint/FlexeLintforC/C++是GIMPELSOFTWARE公司的产品PC-Lint是一个历史悠久,功能异常强劲的静态代码检测工具。它的使用历史可以追溯到计算机编程的远古时代(30多年以前)。经过这么多年的发展,它不但能够监测出许多语法逻辑上的隐患,而且也能够有效地提出许多程序在空间利用、运行效率上的改进点,在很多专业级的软件公司,比如Microsoft,PC-Lint检查无错误无警告是代码首先要过的第一关Pclint的特点1)PC-Lint是一种静态代码检测工具,可以说,PC-LINT是一种更加严格的编译器,不仅可以象普通编译器那样检查出一般的语法错误,还可以检查出那些虽然完全合乎语法要求,但很可能是潜在的、不易发现的错误。2)PC-lint不但可以检测单个文件,也可以从整个项目的角度来检测问题,PC-Lint在检查当前文件的同时还会检查所有与之相关的文件3)PC-lint支持几乎所有流行的编辑环境和编译器,比如BorlandC++从1.x到5.x各个版本、BorlandC++Build、GCC、VC,VC.net、watcomC/C++、Sourceinsight、intelC/C++等等,4)支持ScottMeyes的名著(EffectiveC++/MoreEffectiveC++)中说描述的各种提高效率和防止错误的方法。使用方法可以用命令行方式进行,例如lint-nt–ustd.lnttest1.ctest2.ctest3.c。另外支持MAKEFILE方式。也可以集成到开发环境中。SourceInsightSLICKEDITMSVC6.0KEILC..等操作平台PC-lintforC/C++:WindowsNT/95/98/2000/MEDOSOS/2(32bit)FlexeLintforC/C++:Unix和Unix-like平台(AIX,HP-UX,SunOS,Solaris,LINUX,Tru64Unix,SCO,etc.)VAXVMSIBM’sVM,MVSOS-9其他支持c编译器的平台兼容性支持K&RC,ANSIC,ANSI/ISOC++直接支持Microsoft,GNU和大多数其他主流的编译器和库支持大多数主流嵌入式系统的编译器拥有很多支持异类编译器的选项功能数据检查技术可检测变量初始化和数据误用的问题全局数据流跟踪技术,可跨越函数和函数之间的界限进行数据处理流程的分析可对100个左右的库函数进行检查,这些检查还可以扩展到用户函数上。强化类型检查,并可进行设置检查级别选项函数变量和返回值的用户自定义语句检查找出没有用的宏,类型定义,类,成员变量/函数,声明等等。PC-Lint可以帮助我们自动查找代码中的可能存在的很多问题,包括变量值未初始化、数组访问越界、空指针访问、内存泄漏等问题。它可以帮我们检查代码中可能潜在的问题,修正模糊或者不正确的设计。PC-Lint8.0的安装由于此版本比较特殊,故无需安装,只需要将RAR压缩包里的所有文件解压到一个目录下即可,这里定为C:\PCLint8目录。解压之后目录中文件及目录的说明如下:lint-nt.exePC-lint可执行程序;config.exe配置向导;read80.txt手册的补充说明,最新特性的更新都在这里说明;pc-lint.pdfPC-Lint英文参考手册,许多问题的答案可以在这里找到;pr.exe打印工具;.msg.txt文本格式的错误号信息解释文件;patch.exeLINT补丁升级工具;PC惜-L况in每t8酒.0的安段装Ln立t\包含逢各种ln动t配置律文件扭的目磨录,奴文件贿如下谋:co交-.横..非.ln穿t各种蒸特定抄的编天译器崭的配堤置文械件;co诱.l遥nt通用们的编达译器旱配置未文件茎;sl-.飞..滩.c支持摔各种闭非AN转SI标准保编译拣器的详标准缝库模罩块;sl屠.c支持AN坛SI标准杆的通假用编遥译器奏的标英准库啦模块陷;en咸v-.毫..则.ln籍t支持谈包括揉微软Vi焰su订al坏S犯tu肤di妹o在内武的各怕种开泻发环叹境以橡及多昂种编添辑工装具的深配置踩文件颂;li亦b-失..保..ln脊t支持线各种川特定扑库的哭配置耳选项载文件圆;au造-.码..虫.ln涌t作者算编程基建议寇的配天置文婆件;Te您st遭\.包含职各种钻测试叔源文盈件的效目录益。配置运行C:讨\P链CL兵in撒t8锅\c谣on姜fi耳g.涂ex槽e进行哨配置出现逗命令踩行使竞用的横说明饱窗口怜,选寸择下谱一步选择只是创叛建或幕修改冠已有丑配置召文件ST掘D.侍LN奋T的选嫂项,厚这里听我们栗是第型一次武配置纵,故傻选择光上面育一个旬选项Cr晒ea脉te究a地n惰ew胶S各TD随.L敬NT,修直改配挖置路浮径,勒然后季选择旅下一躬步;界面努中配逢置路奸径就闸是PC灯Li慢nt安装荐的路战径C:垃\P复CL月in叔t8,新蛾建的ST敬D.霉LN友T就存夕放在已这个露目录齐下,殃当然胳用户温也可锦选择留另外雾的配你置路妥径存演放生称成的ST稻D.质LN酬T。接下暮来是值选择首编译断器,撤在下锈拉框露中选凝择自储己使个用的设编译可器。私这里逮我们辨选择Mi奇cr登os场of膀t触Vi限su糟al复C脏++碌6庆.x皂(膀co记-m祝sc乡丰60赚.l乱nt粗),点娇击下缎一步肚;接着弯会让越你选帽择一跪个的拼内存错模型默,可逆以根岸据自提己程哄序区伐和数酷据区会的实伶际大逆小选汇择一糊个恰嫩当的既内存楼模型吸。内侨存模尚型的暂选项词会体怪现在ST岁D.背LN权T文件刑中。袭缺省汤选择32足-b末it集F巧la若t番Mo垫de团l.,然邮后选惊下一冈步;选完旋内存贩模型绣后,备会看布到一兄个库分类型好的列件表,念在这姻里选压择一疤个或斯多个蛋编译宜时使颠用的激库。蓬建议霸选择Mi鬼cr晚os芦of侍t'核s蜡Fo胃un腊da块ti窑on震C皆la顾ss好l塌ib赛ra即ry和Wi灭nd烧ow匙s覆NT,Wi罚nd孟ow颤s从32味-b观it,如镰果你宝用到厦了St漆an贯da烦rd董T爆em现pl疼at赔e准Li车br社ar追y,当隶然也境选上皇,选解择下离一步泄;接着狮是让纸你选商择为晚使用C/赤C+矛+编程勤提出沉过重逮要建斜议的纤作者份,选毛择的贞某作风者后扑,他怨提出秤的编墙程建恩议方维面的汤选项光将被浑打开膛,作鸣者建笑议的拆配置腾名为AU贯-xx昆x.院LN脑T。建武议全医部选刮择,督选择侮下一峡步;下一斗步是扫选择该用何皮种方渡式设粒置包惜含文万件目吸录。曲这里低我们决选择罗用-i方式增协助随我们宾来设清置,序然后鸽选择盟下一金步;如果掌步骤8中选巩择使喊用-i选项窝,安机装程荷序会灾接着闭让你骗输入挎包含彻文件贴所在神的目突录。杏在下够面的驶文本总框里械,可健手工分输入室文件熔包含鉴路径赌,用厅分号问“;”或用ct横rl骑+E绢nt纵er换行适来分缸割多劫个包远含路由径。作或者粪可以醉点中Br岩ow握s,在盆目录事树中剪直接袖选择误。填秩完后多选择汤下一恼步;然后缩慧出现然以下朵对话宅框,僚表示st斤d_吨a.龄ln王t,st漠d.芦ln鸣t在配卵置路凭径下到已被巨创建针,这坟里的st宿d.捷ln歇t实际枯上就终是st更d_斥a.厅ln叔t的一修个拷级贝,偷只是含在缺努省方石式下响,li棉nt时使倍用的尾配置惨文件兵是st蚂d.洗ln踩t;接下朝来将荒会准闯备产址生一梢个控锅制全腰局编勒译信鸡息显被示情苗况的滔选项锦文件OP啊TI伯ON胀S.湿LN历T,这箩里选茶择No,即时不取面消这袖些选桨项。接着范选择剂所支愉持的疮集成矛开发庭环境幸选项限,可芦选多父个或例一个峡也不爱选,PC际-L队IN床T提供团了集排成在免多种门开发场环境丙中工既作的乒功能递,例虽如可咸集成蚀在VC、BC、So文ur旁ce略I氏ns稀ig嚼ht中。姜这里刑我们晃选择MS舱V劳C+罩+6,这帽样en甚v-惊v6贫.l耀nt就会浊被拷谣贝到卵配置厚路径薄中。安装币程序朴会生曾成一券个LI貌N.终BA阅T文件吴,该阻文件储是运怜行PC指-L瘦IN渣T的批笼处理匙文件国,为库了使遍该文盐件能移在任木何路荷径下盛运行任,安冈装程锋序提告供了字两种脾方法怎供你突选择荒。第搬一种穴方法鹊是让骡你选将择把LI豆N.早BA塘T拷贝啦到任尾何一惩个PA陈TH目录倦下。惹第二内种方净法是膜生成雕一个LS鞠ET申.B厦AT文件鞭,在程每次特使用PC窗-L锁IN笨T前先浴运行吨它来缺设置充路径蚕,或汗者把LS估ET杀.B皇AT文件姥的内币容拷微贝到AU胶TO挂EX昏EC隆.B木AT文件按中。剧建议胳选择例第一如种方棉法,隐指定变的目勇录为勉安装枯目录溉。Pc体li划nt配置锻小结上面仁采用co技nf下ig棋.e冈xe图形纸工具垮完成肤了配振置。也可片以采顽用手币工过腥程进虾行配倘置。1.将pc剪li或nt班.r膏ar解压均至c:铃\,这样li脸nt文件析就位烟与c:贯\p鹿cl竹in兼t(安装谅目录)下了突。2.将c:膏\p花cl环in肥t\毫ln决t下的3个文佳件li额b-票w3债2.扛ln僻t,en剃v-己vc铲6.耍ln炸t,co起-m拾sc催60规.l粉nt拷贝瞒至c:替\p油cl御in青t下,3.在安闯装目涨录下券创建st枣d.殿ln递t和op宫ti背on欺s.渔ln犹t两个瓶文件滩,其贴中st揪d.岗ln果t的内梁容如书下Pc推li隙nt配置蛙小结3.在安假装目浇录下强创建st着d.亿ln绞t和op孤ti绍on朴s.他ln依t两个望文件些,其资中st角d.炎ln踩t的内阿容如粮下d:些\p供cl极in纹t\辣co越-m泡sc陕60跳.l副ntd:貌\p仗cl统in规t\裹li骂b-砍w3政2.值ln颗td:畅\p赴cl矛in婚t\榜en撑v-特vc证6.武ln损td:鼓\p项cl齐in渡t\户op住ti哈on墙s.径ln概t-s初i4梁-恰sp津4-i"损c:\番Pr锡og菜ra修m谜Fi颈le饶s\嫩Mi凭cr报os曾of夹t内Vi破su换al键S轮tu吐di怪o\韵Co男mm潮on榆\M槐SD浑ev扬98袖\B色in流;c获:\领Pr疼og甜ra粮m氏Fi恐le挑s\欺Mi状cr抹os赶of运t兵Vi辞su乌al千S裳tu牛di籍o\露VC缺98沙\A辩TL馅\I泼nc搏lu刃de蛮;c黎:\狼Pr印og或ra怀m敞Fi修le那s\弦Mi迈cr冠os魔of挠t捎Vi碑su冬al招S升tu铜di凝o\等VC烂98欢\I胸nc庄lu流de薯;c挡:\悔Pr激og骨ra尽m绒Fi笑le答s\畜Mi壳cr村os酿of砍t服Vi搞su桥al森S秋tu露di骄o\气VC话98锣\M河FC侄\I尖nc长lu弓de织“其中-i后面默的路粥径名着为VC的安句装路壶径和VC导I欧nc枣lu姐de文件汁路径候,根足据自但己的嘱修改给便可作。op乐ti茶on宽s.替ln斗t内容柴可为动空,童为定另制内岩容,以后错需要萄时再塞添加犹。坡准备工作做完盗了,远下一传步就讯是要蝇将pc慎li址nt集成零到VC赵6中去转,先逃配置li肉nt使之幻玉能对级单个C或C+钉+文件劲进行需检查-i指明澡包含毕路径en莫v-颜vc冲6.从ln猴t:指定塘输出赤错误竿报告颤的格球式co万-m衣sc贪60蔬.l疑nt筋:指定c+掉+编译越器版愈本Li爆b-弯w3英2指定份定内均存模橡式Pc剪li绕nt配置堡小结op麻ti关on及s.答ln浇t内容抬可为蕉空,程为定萍制内齿容,以后腔需要活时再揪添加窝。跳准备工作做完蜻了,焰下一区步就桂是要攀将pc赏li衣nt集成医到VC息6中去隙,先藏配置li少nt使之稼能对前单个C或C+普+文件掩进行顷检查集成院到Mi耍cr沙os萄of辟t成Vi果su羡al裤C搏++出6打开VC忆6,to堆ol弓s-漫--纯>c六us反to悬mi喊ze闻--窄>t区oo鞭ls新建剃一个麦名为pc希li蛛ntfo吩r润un拢it倘c劝he处ck的项栋,在存下面约填入co缎mm觉an品d:C:腾\p障cl告in安t\骨li奥nt载-n呀t.竭ex励ear纸gu板me蒜nt勿s:仁-uc:饰\p铜cl渗in旋t\屠st猜d.昆ln后t"$鸭(Fi海le录Pa匆th)“Us姓e苦Ou勒tp拢ut匀W御in唯do雅w打上阔勾cl肝os巩e完成骑。这样差,在VC窗口to汤ol陶s菜单泄下应叫该多讽了一固个pc敬li套nt选项奖,可及以用鞋它来哑运行li头nt程序尚,对单个c/影c++代码太进行拨静态更检查拜了。-u指明冻使用备哪些.ln家t文件首先态导出啊当前军工程挑的.ln单t文件方法越如下蜻:检查尝当前刷活动场工程怨中的弄所有疮源文尾件的慈设置育方法导出宋当前伪工程针的.ln往t文件Co缠mm瘦an勺d:庸C吃:\厌PC信Li赛nt绞8\反LI裁NT占-N含T.参EX菠EAr困gu杰me沈nt壳s:去+li缝ne净bu厘f$(Ta仅rg家et驾Na位me膊).煌ds宏p>$风(Ta坟rg管et医Na泼me糟).敞ln甚tIn居it召ia蕉l愈di敲re灾ct希or尼y:棚$辱(Ta蜜rg怜et辛Di氧r)Co签mm可an外d:Li都nt物-nt伙.e拐xe文件逆及其技绝地怨路径成(如茧果路教径中梯有空抛格,始路径族要用胡“”盗)。+li蔑ne口bu劈燕f$(Ta给rg躁et妥Na坑me蚀).寒ds帽p>$屋(Ta颠rg恋et流Na滔me胆).透ln谨t参数+li钱ne碌bu肌f表示经加倍健行缓浩冲的答大小轮,最灾初是60腾0上by该te墨s,行沙缓冲渣用于炊存放仰当前匆行和秆你读红到的献最长扇行的淘信息之。$(Ta袖rg骡et牙Na窃me)是VC集成漂开发压环境烂的环创境变怖量,页表示夸当前动激活婚的Pr换oj豪ec寻t名字注意运要选困中“Us剂e文Ou寸tp猴ut气W醉in辰do坟w”选项着,这貌样PC匙-L发in醉t就会乒将信嚷息输贱出到Ou顾tp怖ut窗口返中。在In垫it换ia参l槽di采re矛ct大or形y的$(Ta晃rg讨et摔Di绢r)表示嚷在这叮个目倡录(pr晓oj价ec吉t所在锦目录的的de邮bu腔g)下桨执行威此命纳令,势如果萍不指昼定,魔则将.ln爷t文件云存放议在pr渴oj痕ec诱t文件秒所在抓的目初录下医。导出肥当前陕工程允的.ln殊t文件检查输当前奇活动笨工程壮中的浮所有仰源文膀件的翠设置尖方法不写妥该部倚分的伐话,民直接及在输干出窗祥口中绝显示控信息瞎。否则坊,将良分析舞结果勒显示膊在叔案叔窗披口中检查意当前业活动祝工程直中的功所有拼源文袄件的院设置惑方法打开VC肚6,to定ol巡寿s-峡--政>c评us青to定mi帝ze菊--阿>t带oo牧ls新建肉一个调名为pc口li取ntfo岭r佛pr虑oj辟ec痕t妄ch匙ec降k的项撇,在勺下面添填入co继mm园an腐d:C:存\p高cl哭in买t\茎li缘瑞nt雁-n走t.荒ex利ear碧gu踪蝶me舒nt痰s:伞+ff鲁n–uc:凝\P牛C-滩Li皱nt牧\s悬td杀.l室nt$(Ta眼rg奥et柄Na推me吐).落ln泰tIn废it姥ia筋l识di奸re侦ct能or干y:转.叨.\积$(Ta分rg田et捏Di池r)(与前辟一步幕的设虏置一秀致)Us见e轿Ou州tp攻ut鬼W眨in得do竭w打上宁勾cl佣os街e完成缺。参数告中+ff沾n表示Fu寸ll懒F祖il语e织Na缺me否sLI绞NT对常汁见错娘误的知检查1.检测石指针败的错方误使挪用Li销nt对使关用空较指针补,指妈针越爷界,祥对常禁量内遍容的券更改责等。in容tma蹦in间(等){in智tla蝴;ch尺ar乞x[壶10焰0]烈,c抗=1茂0;ch朽ar搬*p电=x蚕;fo框r(爱c=0别;竭c霞<1构20茧;赞c+怨+海){*(p+逐+)='瓦c'健;镜/谨*不会吃检查我出错城误渡*/}x[搬10每2]蜘=骂1载00朗;春/栗*会检律查出谜错误葵*/*(如p+怒10追2)荡=即1算00箩;帖/*会检谊查出泊错误觉*/p[谈10疑2]领=押10瓶0;辽/*会检锹查出跨错误腊*/re翼tu悉rn壁c文;}检测if语句头中的笔错误对于if语句林中经险常出鸣现的液把”==竿”写成眼”=”的错吊误,具能够肠通过li馒nt检测播出来绢。in什tma光in趴()滴{ch度ar衔x[尤10喇0]旷,c捐;ch商ar脉*p蚀=x皂;if基(c<3坡00阴)欣/*错误*/*p线=1饮;if杨(c=点20是)港/*错误砖*/*p铅=1匆;}对于耀如下if语句照的问映题,赶也能脊检测取出来害:if刘(x[窃i]稳>脸bi趁g);/*错误佩号72帮1,可似疑的羊分号时’;’用法兼*/bi拨g瓣=x[滚i];能够稼检测吹出代卷码中if语句贤之后欺的可烧疑的语正缩卧进格匙式:if渴(x[耀i]撒>桃bi微g)bi屿g蓝=x[躺i];y房诚=越bi铁g;愉/选*错误勒号53锅9,此豆行不吼应该肠正缩姨进颈*/能够辆检测烘出代丢码中if语句螺之后仇的可职疑的末负缩湿进格蜘式:if殖(秒y屠>讽z坡)if尤(迫y<瓜z+迷2)谣y世=吴z努;el栏se责/*错误叫号52耐5,此宪行不券应该往负缩事进杏*/x乡丰=深z;检测sw渣it哨ch结构锤中的吧错误li戴nt能够沸检测告出sw欣it姨ch分支摩中漏屈掉的醉”br醉ea还k”语句岗。如茂果某下个分善支确馋定不必使用br世ea螺k;可以至在”ca担se覆“的前羞一行矛加上蒸注释呈。另迟外li盘nt还对说没有de杨fa娃ul痛t分支内的sw兽it堡ch报错捕。in茫tma何in语(密){in编tla蔑;ch冲ar扇x[津10贤0]党,c逐;c健=更1;sw晴it喊ch度(c){ca捆se叫'烦a'鸡:ca以se幅'仅b'秩:织/*两个ca土se连在损一起遮,没珍有错毛误留*/br跌ea肿k;ca柳se葡'后c'爪:c=占1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论