静态分析是一种无需分析源代码即可 执行该任务它的应用之一是 代码气味和 bug。
Fuchsia 使用 Clang 作为编译器。Clang 拥有多种 对代码进行静态分析。Fuchsia 支持大量 并编译为错误警告。
前提条件
在执行静态分析之前,请确保您具备以下各项:
- 工具链:您可以使用预构建的工具链,也可以编译工具链。对于 如需了解如何编译工具链,请参阅工具链指南。 注意:本指南假定您使用的是预构建工具链。
- 编译数据库:您需要编译数据库才能使用
clang-tidy
和 Clang 静态 分析器。它是由fx set
自动在 build 目录的根目录下创建的。 ## Clang 整洁
如需查看更详细的指南,请点击此处。
Clang 静态分析器
前提条件
安装 scan-build-py
:
pip install scan-build --user
您可能会收到一条警告,指出 ~/.local/bin
不属于 PATH
。两者之一
将其添加到 PATH
环境变量,或全局安装 scan-build
(不带 --user
标志)。
运行
从 Fuchsia 目录运行 Clang 静态分析器:
analyze-build --cdb compile_commands.json --use-analyzer path/to/checkout/prebuilt/third_party/clang/linux-x64/bin/clang --output path/to/output
查看结果
在 Chrome 中查看 Clang 静态分析器的结果:
chrome path/to/output/scan-build-date-hash/index.html