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