Clang static-analyzerをWindows/MinGW上でビルドして使う

  • 投稿日:
  • by
  • カテゴリ:

配布バイナリに入れといてくれたらええのになぁ。

もしかしてはいってる?

 

狙いはClangの静的解析ツールです。

Clang Static Analyzer

 

とにかく、いかのありがたい記事を参考にやってみました。

Pete's Blog Building and running Clang static-analyzer on Windows-MinGW

 

configureスクリプトとmakeの実行にはとても時間がかかりました。

 

手順のうち、以下の修正箇所がずれてました。

10. Edit D:\clang\bin\scan-build, line 100, and remove the /bin there to have:
my $ClangSB = Cwd::realpath("$RealBin/clang");
If you don't do that, scan-build will look for clang in /mingw/bin/bin and obviously fail to locate it.

手元環境ではline 1517になってました。"$RealBin/bin/clang”で検索するのがよさそうです。

#$Clang = Cwd::realpath("$RealBin/bin/clang");
$Clang = Cwd::realpath("$RealBin/clang");

 

解析のかけかたですが、configureスクリプトからscan-buildにかけることで、makeを完全に乗っ取ってくれます。

これはまぁ、昔からプロファイラなどで用いられてる手法ですよね。

つまり通常、

./configure

make

とビルドするなら、

build-scan ./configure

build-scan make

とビルドするということです。

ファイル1個なら、

scan-build gcc -c hello.c

この辺は、マニュアルにも説明があります。

scan-build running the analyzer from the command line

 

ためしにgdb 7.5.1をターゲットにしてみたサンプル

scan-viewは組み込みWebサーバになってるようです。

20130316234236

この手のビューアはIDEに組み込んでくれないと使いにくいですな。

タグジャンプしてくれるほうがありがたい気がします。

#オプションで指定できるといいな