运行 Clang 静态分析

静态分析是一种无需分析源代码即可 执行该任务它的应用之一是 代码气味和 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

资源