LLVM/scan-build
表示
< LLVM
はじめに
[編集]scan-buildは、LLVMプロジェクトが提供する静的解析ツールであり、コンパイル時にコード内の潜在的なバグを検出します。本ハンドブックでは、scan-build(1)の基本的な使い方から応用例までを解説します。
scan-buildの概要
[編集]scan-buildとは
[編集]scan-buildは、Clang Static Analyzerを用いた静的コード解析ツール。- コンパイルプロセスをラップして解析を実行し、潜在的なバグを特定。
- Webベースまたはテキストベースのレポートを生成。
clang/clang++ベースのプロジェクトに適用可能。
scan-buildのインストール
[編集]FreeBSDでのインストール
[編集]# pkg install llvm
macOSでのインストール
[編集]$ brew install llvm
Linuxでのインストール (例: Debian系)
[編集]$ sudo apt install clang-tools
基本的な使い方
[編集]コードの解析
[編集]$ scan-build clang myfile.c -o myfile
makeを使用した解析
[編集]$ scan-build make
CMakeを使用した解析
[編集]$ scan-build cmake .. $ scan-build make
主要オプション
[編集]主要オプション オプション 説明 -o DIR解析結果の出力ディレクトリを指定 --status-bugsバグが検出された場合に終了コードを非ゼロにする --use-cc=COMPILER解析に使用するCコンパイラを指定 --use-c++=COMPILER解析に使用するC++コンパイラを指定 -v詳細な出力を表示
応用例
[編集]複数ファイルの解析
[編集]$ scan-build clang file1.c file2.c -o output
CI/CDパイプラインでの利用
[編集]scan-build --status-bugs make || exit 1
まとめ
[編集]本ハンドブックでは、scan-buildの基本的な使い方、主要オプション、応用例について解説しました。コードの品質向上のために活用できます。