問題タブ [gcov]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2107 参照

c++ - -rdynamic フラグを追加した後、gcov は gcda ファイルの生成を停止しました (__gcov_flush() は gdb を介して呼び出されます)

私はC ++でいくつかのサーバーを持っています(ビルドシステムから取得したコマンド):

それはデーモンであり、シグナルで停止していますが、gdbkill $PIDを使用する前にgcov データのダンプを強制するため:

gcov/dumpGcovDataの内容:

リンクが必要であることは知っています-lgcovが、そのように機能していたので、ビルドシステムで変更しませんでした。フラグを追加した直後に問題が発生しました-rdynamicそのフラグなしでは正常に機能しました)。

0 投票する
2 に答える
12135 参照

gcc - gcov で libtool を使用すると、「隠しシンボル `atexit' が DSO によって参照されます」

ビルド スクリプトに GNU Autotools を使用し、リンクに libtool を使用する C++ プロジェクトがあります。最近、gcov を使用してコード カバレッジ インストルメンテーションを追加しました。

.. myCFLAGSとeach に含まれLDFLAGSます。g++-4.2 (自作でインストール) を使用する OS X 10.7.4 では、すべて正常に動作します。

g++ 4.6.3 を使用する Ubuntu 12.04 では、libtool がテストの 1 つをリンクできません。

ubuntu/g++ 4.6 でビルドを修正するにはどうすればよいですか?

0 投票する
1 に答える
1564 参照

cmake - CMake/CTest & gcovr: ファイル名拡張子?

フラグ --coverage を指定して CMake でコンパイルし、ブースト ユニット テスト プログラムを実行すると、拡張子が .cpp.gcda および .cpp.gcno のファイルが作成されます。次に gcovr を実行すると、.gcno ファイルが見つからないと主張します (エラー メッセージ ".gcno:cannot open graph file")。すべての出力ファイルを移動することもできますが、それは非常に厄介でばかげています。

他の人の関連する問題は CTest を使用して解決できますが、私は Jenkins を使用しているため、gcovr に固執し、cobertura xml 出力を使用したいと考えています。

Ps。CMake と gcovr をどのように組み合わせる必要があるのでしょうか。

0 投票する
1 に答える
459 参照

android - Android/SQLite-ファイルの保存場所

私はAndroidAPIでSQLiteメソッドを実行するAndroidアプリケーションのテストに取り組んでいます。Android Open Source Project(AOSP)でSQLiteコードのコードカバレッジを取得したいのですが、G-Covを実行し、テストの実行時にそのカバレッジ情報を保存するように設定しています。しかし、このカバレッジ情報がどこに保存されているのかわかりません。にあると思いましたがdata/data/package-name、何も表示されず、Androidエミュレーターからすべてのファイルを正常にプルできませんでした。

このファイルがどこに保存されるか知っている人はいますか?SQLiteと一緒に保存されているのか、エミュレーターに保存されているのかわかりません(SQLiteディレクトリに表示されていないため、ここで想定しています)。

ありがとう。

編集:具体的には、*。gcnoファイルと*.gcdaファイルを探しています。

/lib/*編集:ファイルエクスプローラー(ADTでEclipse Junoを使用しています)では、近くに何も表示されず、/data/data/package-name/lib空ですが、エミュレーターの共有ライブラリーにある必要があると考えています。その場所がどこにあるか知っている人はいますか?

0 投票する
2 に答える
656 参照

c - Waf がオブジェクト ファイルの名前を変更しないようにするにはどうすればよいですか?

私は Waf を使用して C プロジェクトをビルドし、gcovテスト コード カバレッジを取得しています。ただし、生成されたファイルを検索するときに混乱するソース ファイルからgcc生成する方法でWaf を呼び出します。foo.c.1.ofoo.cgcov

幸いなことに、対応するオブジェクト ファイルを指定できるオプションがありますgcov-oそれにもかかわらず、これは便利ではなく、実行lcovは依然として失敗します。したがって、私の質問は次のとおりです。

  1. Waf がオブジェクト ファイルの名前を変更するのはなぜですか?
  2. この動作を無効にするにはどうすればよいですか...
  3. この問題を回避するにはどうすればよいですgcovか?lcov
0 投票する
1 に答える
269 参照

ios5 - 総実行行数 gcov

テストの良し悪しを測定するために、コード カバレッジから始めます。gcov を使用するようにコンパイルされたすべてのプログラムが既にあり、.gcda ファイルと .gcno ファイルもあります。

「gcov --branch-probabilities --no-output mySourceFile.m」のようなものを実行すると、結果として、実行された行数、実行されたブランチ数が得られます...しかし、たった1つのファイルから、同じ測定が必要ですが、私のプロジェクト全体から。とにかくそれをすることはありますか?

ありがとう!

0 投票する
1 に答える
2192 参照

gcc - 最適化せずに gcc で gcov を使用するには?

次のようなテストコードがあります。

コンパイル フラグを追加しました:-fprofile-arcs -ftest-coverageカバレッジ データを提供します。

テストコードを次のように書きました。

lcov を使用して html レポートを生成したところ、elseブランチreturn (n - 21) * 2が実行されたと表示されたので、100% の行カバレッジが得られました。本当じゃない

グーグルで検索したところ、これが原因であることがわかりました--- gcc の最適化により、いくつかの単純なコード行を他の行と組み合わせて削除できますが、フラグを使用しない場合、どのようにカバレッジ データを生成すればよいでしょうか?-fprofile-arcs -ftest-coverage

ところで、私は netbeans と cygwin を使用して単体テストを行っていますgcovが、makefile やスクリプトを手動で呼び出すのは私にとって良いことではないと思います。

参考までに、私は次のようにlcovを使用しています:

0 投票する
1 に答える
1292 参照

code-coverage - 出力ファイルを生成するlcovの問題

lcovを使用して実行しているいくつかのテストケースのコードカバレッジを取得しようとしています。

しかし、私が実行すると

警告が表示されます

geninfo:警告:.bbファイルでtest.c.gcovのエントリが見つかりません。ファイルをスキップします!

test.cで直接gcovを実行すると、使用率を正常に示すgcov出力を生成できます。

コードカバレッジは初めてです。これを修正するための助けをいただければ幸いです。

0 投票する
1 に答える
1430 参照

gcc - gcc 3.23 に libgcov.a がありません

何らかの理由で、古いバージョンの gcc、gcc2.96、または gcc 3.23 を使用する必要があります。同じものを使用して、コードのコード カバレッジ分析を実行する必要があります。

-lgcovただし、オプションでリンクを実行しようとすると、

/usr/bin/ld: -lgcov が見つかりません

libgcov.a/usr/lib にないことがわかりました。ただし、私の理解では、gcc のインストール中に libgcov が通常自動的にインストールされるということでした。

この問題を解決する方法についての提案は大歓迎です

0 投票する
3 に答える
16623 参照

c - gcov のメモリ不足 / バージョンが一致していませんか?

gcov を起動して実行しようとすると、次のエラーが発生します。

私はclang/profile_rtを使用してgcovが必要とするファイルを生成していますが、それが何か関係があると思います。ただし、他のコンピューターでは動作しているため、何らかの方法で修正できると思います。