1

iOS アプリケーションのコード カバレッジを設定しています。XCode 5.0.2 と gcovr 3.1 を使用して、iOS 7 デバイスのコード カバレッジをテストおよび実行しています。最初は.gcdaファイル生成に問題がありましたが、このブログに従って問題を解決しました。

デバッグ モジュールのみについて、[テスト カバレッジ ファイルの生成] を [はい] に、[インストルメント プログラム フロー] を [はい] に設定しました。-fprofile-arcs -ftest-coverage「その他の C フラグ」でデバッグ モジュールも設定しました。__gcov_flush()アプリケーションの終了時にアプリ コードを追加しました。

現在、.gcda ファイルは問題なく生成されています。

次に、それをホーム ディレクトリのワークスペースにコピーします。ワークスペースから、アプリケーションのコード カバレッジを実行しようとしました。gcovrコマンドラインからコマンドを実行し、持っている 252 個の gdca ファイルを渡し–object-directory、コマンドを実行します。gcov最後に、次の出力が得られます。

Gathered coverage data for 0 files

問題を解決するのを手伝ってください。同様の問題をブラウジングするのに多くの時間を費やしましたが、解決策はどれもうまくいきません。

4

4 に答える 4

2

.gcda ファイルを他の場所にコピーしようとしたことはありませんが、デフォルトで gcda ファイルが生成されるディレクトリに cd し、引数なしで gcovr を実行すると、有効な結果が得られます。おそらくそれがあなたがする必要があることですか?

于 2014-04-16T20:04:34.573 に答える
0

gcovrは、.gcda および .gcno ファイルが存在するフォルダーから実行する必要があります。ルート パスは、ソース ファイル (.c または .cpp) が存在するフォルダーです。

これにより、コマンドは次のようになります。

rr-mac:gcdaFolder$ gcovr -r /path_to_C_sourceFiles/ .

以下の出力htmlファイルの場合、コマンドは機能します

rr-mac:gcdaFolder$ gcovr --html -o Filename_rp.html -r /path_to_C_sourceFiles/ .

注: 末尾のドット (.) は必須です

于 2016-08-12T12:42:26.683 に答える