Cppcheckで静的解析して、Jenkinsで表示してみる。

C/C++用の静的解析ツール、cppcheckを使って、静的コード解析をして、

解析結果をJenkinsで表示する方法を調べてみた。

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

以下の公式サイトから入手する。

https://cppcheck.sourceforge.net/

Cygwiinからでも入手ができた。

Cygwin使いの自分は、cygwin の setup経由で入手。

image

CppCheckを実行してみる

公式マニュアルはココ( var 1.56)

コマンドラインから、以下のコマンドを実行する。

[text](フアイル単位)

cppcheck –enable=all hogehoge.c

[/text]

[text](フォルダ単位)

cppcheck –enable=all hogehoge

[/text]

[text]

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..[/text]

XML形式で結果を出力するには、窶肺ml オプションをつける。

( –xmlツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀ Write results in xml format to error stream (stderr).)

これで、標準エラーでXML形式の結果が出力されるので、

リダイレクトでファイルに記録すればよい。

[text]C:\mock_study>cppcheck –enable=all 窶度ml srcツꀀ 2>cppcheck_result.xml[/text]

( 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

参考ページ