Infer 静态分析工具安装与使用教程
1. 项目目录结构及介绍
Infer 是一个静态代码分析工具,支持 Java, C++, Objective-C 和 C 语言。其源码仓库的目录结构如下:
.
├── COPYING # 许可证文件
├── README.md # 项目简介
├── autogen.sh # 自动生成脚本
├── build-infer.sh # 构建 Infer 的脚本
├── configure.ac # Autoconf 输入文件
├── install-sh # 安装脚本模板
└── ...
autogen.sh
: 使用 Autoconf 生成配置脚本的辅助脚本。 build-infer.sh
: 编译和构建 Infer 的主要脚本。 configure.ac
: 用于自动生成 configure
脚本的输入文件,帮助定制编译选项。 install-sh
: 默认的安装脚本模板。
其余的子目录如 src
, examples
, tests
等包含了源代码、示例和测试用例。
2. 项目启动文件介绍
Infer 的核心启动文件是通过 build-infer.sh
脚本来执行的。这个脚本负责编译 Inger 并准备运行它的环境。在成功构建之后,你可以找到 infer/bin/infer
文件,这是一个可执行文件,可以用来运行各种静态分析任务。
例如,要分析一个 Java 项目,你可能会使用以下命令:
infer -- javac MyJavaProject/src/main/java/*.java
这里的 --
参数表示所有后续参数将传递给被分析的命令(在这个例子中是 javac
)。
3. 项目配置文件介绍
Infer 的配置主要通过运行时的命令行参数来完成,而不是依赖于特定的配置文件。这些参数允许你定制分析行为,比如选择特定的检查器(checkers)、设置报告输出路径等。
例如,你可以指定分析结果的报告输出目录:
infer -- report_path /path/to/reports/ -- javac MyJavaProject/src/main/java/*.java
除此之外,一些高级的配置可以通过设置环境变量来实现,但这些通常不是必需的,除非你需要进行特别的定制。