2011-10-28 16 views
1
  1. 私は単純なhello word cpp appを作成しました。
  2. GENHTML
    genhtml -o html/ ic.info

によって
lcov --directory . --capture --output-file ic.info lcov:いくつかの実行のソースの範囲

  • 生成されたHTMLベースのレポート質問を呼び出すことでカバレッジを生成した実行
  • を実行し
  • gccの--coverageフラグを渡すことで、それをコンパイル。実行可能ファイルを何回実行しても、常に同じ結果が得られます。つまり、行と関数の範囲が同じです。実行ごとに回線カバレッジを向上させる必要がありますか?何か間違っていますか?

    lcovが1回の実行でしかカバレッジを生成しない場合、実行したすべての実行に対してどのようにカバレッジを生成できますか?

  • +1

    これは愚かな質問かもしれませんが、毎回異なる入力でコードを実行しています。 – Mat

    +0

    実際には、各行の実行回数が増えますが、ヒットセクションは何ですか? – deimus

    +0

    私は何の入力もせずに実行...入力の場合はどうですか?要約されませんか? – deimus

    答えて

    1

    カバレッジ結果がどのように生成されたか誤解していると思います。あなたの質問に記載されているように、lcovはカバレッジを生成していません。プログラムの実行時に生成されるカバレッジ結果のみを処理します(質問のステップ3)。

    したがって、プログラムを複数回実行すると(ステップ3)、実行時間が増加します(カバレッジは必要ありません)。これを確認するには、複数のカバレッジレポートを作成します(ステップ3,4,5を複数回実行します)。手順5で生成されたレポートで、コード内の行の実行時間が増加します。

    +0

    ありがとう、今私はそれを得た! – deimus

    関連する問題