問題タブ [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.
c - gcov: グラフ ファイルを開けません
gcov を使用しようとしています。私はこの単純なファイルacを持っています:
私もです
そして私は得る
私は何か間違ったことをしていますか?私は Mac OS X Lion を使用しています。
objective-c - gcovファイルのブランチを理解する
gcovツールの出力を理解しようとしています。オプションなしで実行することは理にかなっていますが、ブランチカバレッジオプションを試して理解したいと思います。残念ながら、ブランチが何をしているのか、なぜブランチが取得されないのかを理解するのは困難です。以下はメソッドの出力です(最新のLLVM / Clangビルドを使用してコンパイルします)。
これを介して5つのテストを実行し、nil、空の配列、1つのオブジェクトを持つ配列、2つのオブジェクトを持つ配列と4つのオブジェクトを持つ配列を渡しました。最初のケースでは、ブランチ1は「ループに入る」ことを意味していると推測できますが、ブランチ0が何であるかはわかりません。2番目のケースでは、ブランチ0が再びループスルーしているように見え、ブランチ1がループを終了し、ブランチ3がループを続行/終了しているように見えますが、ブランチ2が何であるか、なぜ/いつ実行されるかはわかりません。
誰かがブランチ情報を解読する方法を知っているか、それが何を意味するかについての詳細なドキュメントを知っているなら、私は助けていただければ幸いです。
c++ - gcovによって報告されたデストラクタのブランチは何ですか?
gcovを使用してC++コードのテストカバレッジを測定すると、デストラクタのブランチが報告されます。
ブランチ確率を有効にしてgcovを実行すると(-b)、次の出力が得られます。
気になるのは「少なくとも1回は2回の50.00%」です。
生成された.gcovファイルに詳細が記載されています。
「ブランチ0が0%(フォールスルー)を取得」という行に注意してください。
このブランチの原因と、ここで100%を取得するには、コードで何をする必要がありますか?
- g ++(Ubuntu / Linaro 4.5.2-8ubuntu4)4.5.2
- gcov(Ubuntu / Linaro 4.5.2-8ubuntu4)4.5.2
c - コード カバレッジ - どのランがどのコードをカバーしているか?
POC: https://gist.github.com/1197309
./prime
3 つの実行のうちどれが実行されたかを判断し、どのコードをカバー./prime 0
し./prime 1
て、HTML レポートに適切に表示したいと考えています。
これは簡単な方法で可能ですか?どうやってするの?他のツールは、gcc を使用する Linux で動作する限り問題ありません。
ありがとう。
注:私はその要点の作業フォークを好むでしょう:-)私は「通常の」開発者向けLinuxディストリビューションを使用しているので、ツールについて心配する必要はありません。
その他の改善は大歓迎です。
c - gcov とのクロスプロファイリング。ただし、GCOV_PREFIX と GCOV_PREFIX_STRIP は無視されます
GCOV を使用してコード カバレッジを作成したいのですが、テストは別のマシンで実行されます。そのため、実行可能ファイル内の .gcda ファイルへのハードワイヤード パスは機能しません。
このデフォルト ディレクトリを変更するには、ここで説明されているように、GCOV_PREFIX および GCOV_PREFIX_STRIP 環境変数を使用できます。
ここで私が使用したコマンド:
パスは同じままです。誰でもこれを経験したことがありますか?
c++ - テンプレートで動作する最高の C++ コード カバレッジ ツールは何ですか?
コード カバレッジのテストに gcov を使用しましたが、テンプレート化された C++ コードに関してはうまく機能しません。私は boost::spirit を広範囲に使用していますが、gcov はテンプレート化されたスピリット コードを単純に無視しているようです。
また、実際に実行された可能性のある分岐/競合状態/実行フローを特定して、スレッドがどのように相互作用するかを示すカバレッジ ツールがあるかどうか疑問に思っています。
c - lcov:複数の実行のソースのカバレッジ
- シンプルなハローワードcppアプリを作成しました。
- gcc--coverageフラグを渡してコンパイルしました
- 実行可能ファイルを実行しました
- 呼び出しによって生成されたカバレッジ
lcov --directory . --capture --output-file ic.info
- genhtmlによって生成されたhtmlベースのレポート
genhtml -o html/ ic.info
さて、質問です。実行可能ファイルを何度実行しても、常に同じ結果が得られます。つまり、行と関数のカバレッジは同じです。実行ごとにラインカバレッジを増やす必要がありますか?何か問題がありますか?
1回の実行に対してのみカバレッジを生成する場合lcov
、実行したすべての実行に対してカバレッジを生成するにはどうすればよいですか?
gcc - *.c.gcov ファイルを生成できません
私は次の構造を持っています:
およびオプションは-fprofile-arcs
、-ftest-coverage
gcc コンパイル オプションに記載されています。a.gcda
およびファイルが正常に生成されa.gcno
ます。次のオプションgcov a.c
を指定すると、実行された行の統計が正しく表示されます。
しかし、a.c.gcov
ファイルを正しく生成できず、含まれているのは/* EOF */
.
次のメッセージがスローされます。
a.c.gcov
ファイルを生成することをお知らせください。
ios5 - コード カバレッジ GCov が XCode 4.2 および iOS SDK 5 で動作しない
iOS SDK 5.0 を使用して Lion で Xcode 4.2Build 4D199 を使用して GCov を動作させようとしましたが、役に立ちませんでした。これで運が良かった人はいますか?単体テストに Google Tools For Mac を使用しており、libprofile_rt.dylib にリンクして以下を追加しました。
ここのCoverstoryページに示されているようにhttp://code.google.com/p/coverstory/wiki/UsingCoverstory しかし、私が見つけたとき. -name *.gcda" 何も表示されません。何が足りないのですか?