iOS静态代码检查工具Clang Static Analyzer介绍

Clang Static Analyzer是一款静态代码扫描工具,专门用于针对CC++Objective-C的程序进行分析。现在这款工具已经被Xcode集成,可以直接使用Xcode快捷键command+shift+B进行静态代码扫描分析,也可以单独在命令行下使用并提供html格式的输出报吿和xml格式的结果文件方便集成到Jenkins上进行展示。它默认的检查涉及以下几个方面:Core CheckersC++ CheckersDead Code CheckersOS X CheckersSecurity CheckersUnix Checkers。实际开发中通常遇到的问题主要包含以下几种:

·         Branch condition evaluates to garbage value分支条件问题

·         Dangerous variable-length array(VLA) declaration组长问题

·         Dereference of null pointer空指引用问题

·         Dereference of undefined pointer value引用未定针问题

·         Division by zero 除数0问题

·         Garbage return value返回值问题

·         Stack address stored into global variable栈地址存到全局问题

·         Unix API问题

你的iOS目名称PROJECT,其对应schemeSCHEMEClang Static Analyzer之后,找到目下的scan-build文件,稍后会用到个文件,在iOSPROJECT下运行下面的命令:

$scan-build -k -v -v -o ./clangScanBuildReports xcodebuild -

workspace PROJECT.xcworkspace -scheme SCHEME -configuration Debug -

sdk iphonesimulator ARCHS=i386 VALID_ARCHS=i386


然后生成的告在clangScanBuildReports里面,点index.html就可以看,码检查效果事例如下图所示

 


击进详细说明之后如下所示:


Clang Static Analyzer官网地址:http://clang-analyzer.llvm.org/index.html


如果你看的意犹未尽,如果你想随时随地充实自己,请扫描以下二维码,关注我们的公众账号,可以获取更多技术类干货,还有精彩活动与你分享~


大咖招募
欢迎App研发/测试方面的大牛来投稿,开设专栏。我们提供丰厚的稿酬,预约个人专访,帮助建立个人技术品牌!
立即投稿

我要评论

字数不能超过140字,谢谢!
提交

评论({{allComments.length}})

{{comment.create_time.substr(0,16)}}

显示所有评论
复制成功!