問題タブ [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.
gcc - gcc ビルドで gcov を無効にする
GCCを作成するときに、gcovを作成しないように指示する方法を知っている人はいますか? ターゲット (powerpc-wrs-vxworks) で多くのエラーが発生します。
sed - ファイル内の DOS から UNIX へのパス置換
この種のパスを含むファイルがあります。
そして、次のファイルを取得したいと思います。
一致しないパスは変更しないでください。
固定数のサブディレクトリに対して sed を使用してこれを行う方法は知っていますが、可変数が問題を引き起こしています。実際には、多くのs/x/y/
式を使用する必要があります (最大深度と同じくらい... あまりエレガントではありません)。
とあるかもしれませんが、この種の魔法は私のスキルを超えています。
参考までに、cygwin プラットフォームでいくつかの gcov バイナリ ファイルを修正するには、このトリックが必要です。
私はバイナリファイルを扱っています。したがって、次の種類のデータがある可能性があります。
次のように翻訳する必要があります。
同じ行にあるにもかかわらず、最初の\
ものを翻訳してはなりません。
ただし、このテキストの編集中にファイルをチェックしたところ、.gcno
すべてのパスがゼロで囲まれているように見えるため、以下の回答のほとんどが適合するはずです。
c++ - gcovで関数カバレッジを測定することは可能ですか?
現在、Linux C ++アプリケーション用のテストスイートでgcovを使用しており、ラインカバレッジの測定に優れています。
gcovは、ラインカバレッジに加えて関数/メソッドカバレッジレポートを作成できますか?
gcovが受け入れるパラメーターを見ると、それは不可能だと思いますが、何かが足りない可能性があります。または、おそらく、gccによって生成された統計から関数/メソッドカバレッジレポートを生成できる他のツールはありますか?
更新:関数/メソッドの適用範囲とは、テスト中に実行される関数の割合を意味します。
gcc - gcov シンボルはどこにありますか?
gcov を使用して単純なアプリをコンパイルしようとすると、次のリンク エラーが発生します。
不足しているシンボルの場所が見つからないようです。gcov は、gcc バージョン 4.1.2 を実行しているマシンに存在します。
何か案は?ありがとう。
編集時:
1 つの .c ファイルで構成されるアプリケーションで gcov を使用すると、すべて正常に動作するようです。複数の .c ファイル (したがって複数の .o ファイル) がある場合、上記の問題が発生します。
コンパイル手順は次のようになります。
code-coverage - lcov コード カバレッジ レポートを 1 つまたは 2 つのディレクトリに集中させる方法はありますか?
私は最近、自分のコード カバレッジを視覚化するために lcov を使い始めました。それは素晴らしいツールです。
私が気付いていることの 1 つは、使用しているすべてのファイル (興味のないものも含む) のコード カバレッジ レポートが生成されることです。
lcov に特定のファイルのカバレッジ レポートのみを生成させる簡単な方法はありますか?
-k パラメータを次のように使用してみました。
(つまり、「include」および「src」ディレクトリのカバレッジ ファイルのみが必要です。)
ただし、これは機能しないようです。レポートには、無関係なファイルがすべて表示されます。どんな提案でも大歓迎です。ありがとう!
c - 予期しないカバー結果を報告する Gcov
プロジェクトに合わせてライブラリをインラインに保つために、ライブラリにいくつかの変更を加えました。テストを実行しましたが、すべて合格しましたが、カバレッジは 100% ではありません。調査したところ、報告されていないだけでコードが実行されていることがわかりました。しかし、実行中に gcov が行のカバレッジを報告しない理由がわかりません。
これはコードです:
これはテストです:
そして、これはカバレッジ結果です:
前に印刷を追加するreturn 1;
と実行されます。それはカバレッジを取得しませんが、return 1
現在はカバーを取得しています。何か案は?マニュアルページ以外は何も見つかりません。
編集:コメントから、私がすべてを開示していないことがわかります。私は問題についていくらか進歩しました。他の機能の一部のテストでは、実行時にカバーが消えます。のテストのみを実行するPreviouslyEncountered
と、その機能を 100% カバーできます。他のテストを実行すると、これがリセットされます。
code-coverage - gcov はアセンブリ言語コードのコード カバレッジ分析を提供しますか
ARM ターゲット プロセッサの Linux ホストで gcc を使用してビルドするアプリケーションがあります。この生成されたアーム実行可能ファイルは、私が持っているARM開発ボードで実行します。コードカバレッジ分析を行いたい:
- ビルド環境に ARM アセンブリ ソース ファイルがある場合、gcov はコード カバレッジを表示しますか?
- ビルド環境に X86 アセンブリ ソース ファイルがある場合、gcov はコード カバレッジ データを表示しますか?
ありがとうございました。-広告。
cocoa - 単体テストでカバーされている行が gcov から報告されないのはなぜですか?
出荷されたバージョンの gcov とデフォルトの GCC コンパイラ (両方ともバージョン 4.2.1) を使用して、10.6 で Xcode 3.2 を使用しています。アプリに挿入される依存 Cocoa 単体テスト バンドルを作成し、コンパイラの最適化が有効になっていないデバッグ構成に基づいて、gcov でインストルメント化されたビルド構成のセットアップに関する Apple のドキュメントに従いました。
この「Gcov-instrumented」構成でテスト バンドルをビルドすると、アプリが起動し、テストが挿入されて実行されます。また、カバレッジ統計ファイルは次の場所に生成されます。
build/<AppTarget>.build/Gcov-instrumented/<AppTarget>.build/Objects-normal/x86_64/<object>.gcda
build/<AppTarget>.build/Gcov-instrumented/<AppTarget>.build/Objects-normal/x86_64/<object>.gcno
ここまでは順調ですね。エラーを挿入すると、テスト スイートが期待どおりに失敗するため、テストが実際に実行されていることがわかります。残念ながら、gcov は、オブジェクトのどの行もテストでカバーされていないと報告しています! すべての行が 0 カバレッジとして報告されます。ここと Apple メーリング リストのアーカイブを検索しましたが、同じような問題を抱えている人は見つかりませんでした。何かが足りないと思いますが、それは何ですか?
gcc - gcc / gcovを作成して、カバレッジ統計をソースフォルダー以外の場所に出力することはできますか?
gccを-fprofile-arcsおよび-ftest-coverageとともに使用すると、結果の実行可能ファイルが終了すると、実行可能ファイルのコンパイルに使用された.oファイルと同じ場所に.gcda出力ファイルが作成されます。これは、構築したマシンとは別のマシンで実行している場合は不便です。この動作を変更する方法はありますか?