• このエントリーをはてなブックマークに追加

C/C++用の静的解析ツール、cppcheckを使って、静的コード解析をして、
解析結果をJenkinsで表示する方法を調べてみた。

CppCheckのダウンロード・インストール

以下の公式サイトから入手する。
http://cppcheck.sourceforge.net/

Cygwiinからでも入手ができた。
Cygwin使いの自分は、cygwin の setup経由で入手。
image

CppCheckを実行してみる

公式マニュアルはココ( var 1.56)
コマンドラインから、以下のコマンドを実行する。

(フアイル単位)
cppcheck --enable=all hogehoge.c
(フォルダ単位)
cppcheck --enable=all hogehoge
ex.)
C:\mock_study>cppcheck --enable=all src
Checking src/numlib.c...
1/2 files checked 22% done
Checking src/sample.c...
2/2 files checked 100% done
Checking usage of global functions..

XML形式で結果を出力するには、窶肺ml オプションをつける。
( –xmlツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀ Write results in xml format to error stream (stderr).)
これで、標準エラーでXML形式の結果が出力されるので、
リダイレクトでファイルに記録すればよい。

C:\mock_study>cppcheck --enable=all 窶度ml srcツꀀ 2>cppcheck_result.xml

( 2> で標準エラーをリダイレクトできるんですねー、知らなんだ ; ~_ ~ ; )

CppCheck Plugin を Jenkinsに入れて、静的コード解析結果をみる

Cppcheck PluginをJenkinsにインストールする。
[Jenkinsの管理] > [プラグインの管理] から Cppcheck Pluginを選択して、インストール。

プロジェクトの[設定] > [ビルド] で、cppcheckのコマンドを追加する。

[ビルド後の処理] に [Publish Cppcheck results]
という項目が追加されているので、選択。
Cppcheck report XMLsという項目に、xmlファイル名を追加する。image

実行結果

Web画面でエラーが確認できる。
クリックすれば、ソースの該当箇所まで飛んでくれる。便利。

image

動作環境

  • Windows 7
  • Cppcheck 1.56
  • Cppcheck Plugin 1.11

参考ページ