執行 Clang 靜態分析

靜態分析是一種可在不使用程式碼的情況下分析原始碼的方法 而不是執行該映像檔其中一項應用程式是 程式碼氣味和錯誤

Fuchsia 使用 Clang 做為編譯器。Clang 提供多種工具 靜態分析程式碼Fuchsia 運用多種技術 ,並在編譯過程中發出警告為錯誤。

必要條件

進行靜態分析前,請確認您具備下列項目:

  • 工具鍊:您可以使用預先建構的工具鍊,也可以編譯工具鍊。適用對象 如要瞭解如何編譯工具鍊,請參閱工具鍊指南。 注意:本指南假設您使用預先建構的工具鍊。
  • 編譯資料庫:您需要編譯資料庫才能使用 clang-tidy 和 Clang 靜態資料 這項工具由 fx set 自動在建構目錄的根目錄中建立。 ## 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

資源