iOS测试工具系列| iOS静态代码检查工具Clang Static Analyzer介绍
Posted 百度QA
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS测试工具系列| iOS静态代码检查工具Clang Static Analyzer介绍相关的知识,希望对你有一定的参考价值。
Clang Static Analyzer是一款静态代码扫描工具,专门用于针对C,C++和Objective-C的程序进行分析。现在这款工具已经被Xcode集成,可以直接使用Xcode快捷键command+shift+B进行静态代码扫描分析,也可以单独在命令行下使用并提供html格式的输出报吿和xml格式的结果文件方便集成到Jenkins上进行展示。它默认的检查涉及以下几个方面:Core Checkers、C++ Checkers、Dead Code Checkers、OS X Checkers、Security Checkers、Unix 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返回值问题
Unix API问题
假设你的ios项目名称为PROJECT,其对应的scheme为SCHEME则下载Clang Static Analyzer之后,找到目录下的scan-build文件,稍后会用到这个文件,在iOS项目PROJECT目录下运行下面的命令:
$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就可以查看,代码检查效果事例如下图所示:
点击进入详细说明之后如下图所示:
以上是关于iOS测试工具系列| iOS静态代码检查工具Clang Static Analyzer介绍的主要内容,如果未能解决你的问题,请参考以下文章