IDO老徐,在深圳,某上市公司质量部负责人,干了十二年软件测试,公号"简尚" ,博客isTester.com ,关注「软件测试从业者综合能力提升」,微信957863300
Clang Static Analyzer:iOS静态代码检查工具
上一篇 /
下一篇 2016-06-16 14:17:37
/ 个人分类:测试工具
Clang Static Analyzer是一款静态代码扫描工具,专门用于针对C,C++和Objective-C的程序进行分析。
zkI:c,? S3E z0
现在这款工具已经被Xcode集成,可以直接使用Xcode快捷键command+shift+B进行静态代码扫描分析,也可以单独在命令行下使用并提供html格式的输出报吿和xml格式的结果文件方便集成到Jenkins上进行展示。
"Yf*K3g5Y2I0
它默认的检查涉及以下几个方面:Core Checkers、C++ Checkers、Dead Code Checkers、OS X Checkers、Security Checkers、Unix Checkers。
$\'istO}/[w9pK0
实际开发中通常遇到的问题主要包含以下几种:· Branch condition evaluates to garbage value分支条件问题51Testing软件测试网^ k1M3Bw&o
· Dangerous variable-length array(VLA) declaration数组长度问题51Testing软件测试网B4G:Q5}8]9\[
· Dereference of null pointer空指针引用问题
zh ~mA$r0
· Dereference of undefined pointer value引用未定义指针问题
8ny(U.w\0
· Division by zero除数为0问题51Testing软件测试网O-b@3P4hV
· Garbage return value返回值问题51Testing软件测试网]&~wmX;JB
· Stack address stored into global variable栈地址存储到全局变量问题
6Hs%{9H1h b8p2JK#R0
· Unix API问题51Testing软件测试网8| s%z$G"g9yVMCU
51Testing软件测试网.a;U7F o
D O{
51Testing软件测试网-e4@6wj%Np"{;||8h
假设你的iOS项目名称为PROJECT,其对应的scheme为SCHEME则下载Clang Static Analyzer之后,找到目录下的scan-build文件,稍后会用到这个文件,在iOS项目PROJECT目录下运行下面的命令:
,eSIlS;}O
W
H0
$scan-build -k -v -v -o ./clangScanBuildReports xcodebuild -51Testing软件测试网{!QF![sF.L
workspace PROJECT.xcworkspace -scheme SCHEME -configuration Debug -51Testing软件测试网/f}
};tr c {8x3e[
sdk iphonesimulator ARCHS=i386 VALID_ARCHS=i38651Testing软件测试网,zH.W#V6p q#ct
然后生成的报告在clangScanBuildReports里面,点击index.html就可以查看
/rhY0ERWM-E0