cppcheclipseでC++の静的解析

EclipseのCDT(C/C++開発用プラグイン)でのC++開発で、
オープンソースの静的解析ツールcppcheckを用いてC++コードをチェックする方法のメモ。(プラットフォームはLinuxです。Windowsでは未確認)


(1) 「Eclipse IDE for C/C++ Developers」をインストールする。(説明省略)
(2) EclipseC++ のプロジェクトを作成する。(説明省略)
(3) cppcheck をインストールする。
 cppcheck は、C++用の静的解析ツールです。
 下記からソースをダウンロードします。
 http://sourceforge.net/projects/cppcheck/ (OS自動判定するんでLinux環境から)
 http://sourceforge.jp/projects/sfnet_cppcheck/releases/ (日本語ミラーサイト


 解凍してビルドします。


 $ tar jxvf cppcheck-1.50.tar.bz2
 $ cd cppcheck-1.50
 $ make
 pcre.h が無い、というエラーが出るかもしれません。
 その場合は、下記から pcre-x.xx.tar.gz をダウンロードしてインストールします。
 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

 $ tar zxvf pcre-8.13.tar.gz
 $ cd pcre-8.13
 $ ./configure
 $ make
 $ sudo make install
 で、cppcheckのビルドに戻ります。

 $ cd cppcheck-1.50
 $ make
 $ sudo make install
 ためしにコマンドラインで下記を実行すると、cppcheck の使い方が表示されます。

 $ cppcheck


(4) cppcheclipse をインストールする。
 cppcheclipse は、cppcheckをEclipseに統合するためのプラグインです。


 ・まず、Eclipseを起動します。
 ・[Help] > [Marketplace] を開きます。
 ・cppcheclipse を検索します。
 ・[install] をクリックし、指示にしたがってインストールします。


(5) 使ってみる。
 ・EclipseC++のプロジェクトを開きます。
 ・[Project] > [Properties] を開きます。
 ・[cppeclipse]でチェック項目の設定をします。
 ・プロジェクトのコンテキストメニューで、[cppcheck] > [Run cppcheck]
 ・cppcheckが見つからないとかエラーが出るので、
  指示にしたがってcppcheckのパス(/usr/bin/cppcheck)を指定します。
 ・気をとりなおして再度、[cppcheck] > [Run cppcheck]
 ・静的解析が実行されます。結果はProblemsビューに表示されます。


試しに使ってみたら、「バッファがオーバーランしている」、「リソースがもれてる」(ファイルの閉じ忘れだった)、「変数にセットした値が使われていない」、「コンストラクタがない」、「初期化されてない」などの問題が指摘されました。こんなふうに静的解析ツールは、コンパイラの警告では指摘されないような文脈上の問題も指摘してくれます。ソースコードの品質向上にどうぞ。