gcovの出力結果をEclipseでみる方法を調べてみた。
Eclipse 3.7(Indigo)までは CDT gcov pluginが動いたけど、Eclipse4.2 (Juno)からは、動かない・・・。しかし、代わりに、Eclipse Juno では GCov pluginが動作した。
というわけで、2つの方法を紹介する。
その1CDT gcov plugin
インストール
以下のサイトからダウンロード。
https://sourceforge.jp/projects/ginkgo/
ダウンロードファイルを解凍すると featuresとpluginというファイルがある。
それぞれeclipse.exeと同じフォルダにあるfeaturesとpluginにコピーする。(org.ginko.gcov.feature_0.2.2とorg.ginkgo.gcov_0.2.2.jar)
あとは、- cleanオプションをつけてEclipse再起動。
CDT gcov pluginの設定
[プロジェクトエクスプローラ]からカバレッジを出したいプロジェクトを右クリックしてオプションを選択。
C Coverageという項目があるので、Activate natureを有効にする。
gcovを実行して、出力用データを作成する
Eclipseで表示するには、.gcovという形式のファイルをつくる必要がある。
以下の3ステップで作成する。
ビルドして hogehoge.gcnoを作成
ビルドして.gcnoファイルを作成する。
ビルドするときに、以下のオプションをつける。
-fprofile-arcs -ftest-coverage
MakefileだとCFLAGSに追加すればよい。
CFLAGS += -fprofile-arcs -ftest-coverage
実行ファイルを実行して、hogehoge.gcdaを作成
実行ファイル(.exe)を実行すると、*.gcdaができる。
自分の場合はGoogleTestでテストコードを書いて、テストを実行することで、カバレッジを得る。
gcovコマンドを実行して、hogehoge.c.gcovを作成
Eclipseでカバレッジを得るには、もう一工夫必要。
実行してできた、hogehoge.gcdaに対し、以下のコマンドを実行するとhogehoge.c.gcovというファイルができる。
gcov hogehoge.gcda
その2 GCov plugin を使う
以下からダウンロード。
https://wiki.eclipse.org/Linux_Tools_Project/GCov/User_Guide
ちなみに、Pleades日本語プロジェクトからEclipse 4.2 CDTを落としてきたら、Defaultでついていた。
https://mergedoc.sourceforge.jp/index.html#/pleiades.html
hogehoge.gcdaを作る
つくりからは上に同じ。
作成したら、プロジェクトビューから、作成したhogehoge.gcdaを開く。
実行バイナリファイルに含まれるすべてのカバレッジデータを出力するか、ファイル単位で出力するかを選択する。
ファイル単位で開いてみると、カラー表示されたカバレッジ出力結果が表示される。
実行バイナリファイル単位で表示すると、gcovビューにカバレッジの集計が見える。
(開くまで時間がかかる)
(GCovユーザガイド)https://wiki.eclipse.org/Linux_Tools_Project/GCov/User_Guide#Installation_and_Set-Up