1

gcov を実行すると。問題はありません。ただし、 gcov -a を実行すると。gcov がフリーズしました。出力の最後の数行は次のとおりです。

ファイル '/usr/include/boost/archive/detail/iserializer.hpp' 行数: 55 の 78.18%

ファイル '/usr/include/boost/serialization/extended_type_info_typeid.hpp' 行数: 27 行中 40.74% /usr/include/boost/serialization/extended_type_info_typeid.hpp:'extended_type_info_typeid.hpp.gcov を作成中

なぜそれが起こっているのか知っていますか?「-a」が必要な理由は、lcov を使用するときに、そのオプションを gcov に与えるためです。geninfo をハックしてそのオプションを無視できますが、最終的にはパブリック システムで lcov を実行するので、そうしないことを好みます。

ご意見ありがとうございます。

4

1 に答える 1

0

また、boost::serialization を使用するコードもあります。lcov プロセスは /frozen/ ではなく、実行に非常に長い時間がかかります。数時間後に正常に完了し、最終的に素敵なlcovレポートを取得しました.

lcov -c の実行時にブースト シリアライゼーション コードの処理を除外できれば素晴らしいと思いますが、その方法を正確に把握することはまだできていません。(もちろん、ブースト シリアライゼーションを使用するコードをカバーしたい/望んでいますが、ブースト ヘッダー自体はカバーしません) // LCOV_EXCL_START と LCOV_EXCL_STOP をシリアライゼーション コードの大部分の周りに置いても機能しません。マーカーは、lcov -c ではなく、genhtml が呼び出されたときにのみ使用されます。

于 2012-03-01T00:17:29.087 に答える