2008-09-01 39 views
5

マルチスレッドアプリケーションのカバレッジテストにgcovを使用できますか?マルチスレッドアプリケーションのGCOV

私はコードベースのテストを少ししか設定していませんが、私たちが達成している範囲について考えてみるとよいでしょう。 gcovが適切でない場合は、代替ツール(可能なoprofile)をお勧めします。

答えて

8

確かにgcovを使用して、マルチスレッドアプリケーションのカバレッジ情報を取得しました。

gcc 4.3でコンパイルしたい場合は、動的コードでカバレッジを行うことができます。 オプションでコンパイルすると、gcovが処理できる.gcdaファイルが生成されます。

私たちは、私たちの製品の別のビルドを行い、そのユニットテストと回帰テストを実行しています。

最後に、lcovを使用してHTML結果ページを生成します。

0

私はマルチスレッドカバレッジ作業にgcovを使用していません。しかし、MacOSでは、AppleのSharkツールが複数のスレッドを処理します。これは主にプロファイラーですが、カバレッジ情報も作成できます。

http://developer.apple.com/tools/sharkoptimize.html

1

gcovのは、マルチスレッドアプリケーションのために正常に動作します。計測アーキテクチャは適切にシリアル化されているため、カバレッジデータを良好に取得できます。

lcovと組み合わせてgcovを使用することをお勧めします。これは、完全なプロジェクトから個々のソースファイルに至るまでの素晴らしいレポートを提供します。

lcovは、ソースの色分けされたHTML版を提供しますので、カバレッジ・ラップを迅速に評価することができます。