infer 是有FaceBook提供的静态代码分析工具。
infer在安装前需要准备的一些环境。
- opam >= 1.2.0 (https://opam.ocaml.org/doc/Install.html#OSX)
- Python > 2.7
- Java (For the Java analysis)
- clang in Xcode command line tools. 安装命令:
xcode-select --install
(only needed for the C/Objective-C analysis) - Xcode >= 6.1 (For the C/Objective-C analysis)
- autoconf >= 2.63 and automake >= 1.11.1
1.opam的安装
下载地址:http://opam.ocaml.org/doc/Install.html
执行命令进行安装:brew install opam
2. Infer的安装
下载地址:https://github.com/facebook/infer/releases
添加环境变量:pwd/infer-osx-v0.5.0/infer/bin
解压缩当前下载的包:tar xf infer-osx-v0.5.0.tar.xz
cd到安装目录下重新编译Infer:./build-infer.sh java
3. 验证Infer的可用性,cd到infer-osx-v0.5.0/examples目录
验证简单的java,c,objective-c进行环境检测。
- Java:
infer -- javac Hello.java
- C:
infer -- gcc -c hello.c
- Objective-C:
infer -- clang -c Hello.m
infer的分析报告,在infer-out文件夹中进行输出。
三种文件格式的分析结果输出:bugs.txt、report.csv、report.json;
procs.csv、stats.json主要为详细debug信息分析结果;
multicore和source文件夹是分析器内部所需文件;
specs文件夹包含分析方法的参数指标;
captured文件夹包含infer分析需要的每个文件信息;
4. gradle检测
a。清空项目:gradle clean
b。编译打包扫描:infer -- gradle build
5 maven检测
a。清空项目:mvn clean
b。编译&扫描: infer -- mvn package
6 objective c
a. infer -- xcodebuild -target YourApp -sdk iphonesimulator
iponesimulator可以通过xcodebuild -showsdks确认本机安装的具体sdk
b.infer -- xcodebuild -workspace YourProject.xcworkspace -scheme YourSchema