infer 是有FaceBook提供的靜態(tài)代碼分析工具义锥。
infer在安裝前需要準(zhǔn)備的一些環(huán)境讼庇。
- 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
執(zhí)行命令進(jìn)行安裝:brew install opam
2. Infer的安裝
下載地址:https://github.com/facebook/infer/releases
添加環(huán)境變量:pwd/infer-osx-v0.5.0/infer/bin
解壓縮當(dāng)前下載的包:tar xf infer-osx-v0.5.0.tar.xz
cd到安裝目錄下重新編譯Infer:./build-infer.sh java
3. 驗(yàn)證Infer的可用性,cd到infer-osx-v0.5.0/examples目錄
驗(yàn)證簡(jiǎn)單的java育韩,c畦攘,objective-c進(jìn)行環(huán)境檢測(cè)。
- Java:
infer -- javac Hello.java
- C:
infer -- gcc -c hello.c
- Objective-C:
infer -- clang -c Hello.m
infer的分析報(bào)告错妖,在infer-out文件夾中進(jìn)行輸出。
三種文件格式的分析結(jié)果輸出:bugs.txt疚沐、report.csv暂氯、report.json;
procs.csv亮蛔、stats.json主要為詳細(xì)debug信息分析結(jié)果痴施;
multicore和source文件夾是分析器內(nèi)部所需文件;
specs文件夾包含分析方法的參數(shù)指標(biāo)究流;
captured文件夾包含infer分析需要的每個(gè)文件信息辣吃;
4. gradle檢測(cè)
a。清空項(xiàng)目:gradle clean
b芬探。編譯打包掃描:infer -- gradle build
5 maven檢測(cè)
a神得。清空項(xiàng)目:mvn clean
b。編譯&掃描: infer -- mvn package
6 objective c
a. infer -- xcodebuild -target YourApp -sdk iphonesimulator
iponesimulator可以通過(guò)xcodebuild -showsdks確認(rèn)本機(jī)安裝的具體sdk
b.infer -- xcodebuild -workspace YourProject.xcworkspace -scheme YourSchema