6

毎晩実行される受け入れテストのセットがあります。valgrind を使用して、コード内のメモリ リークを自動的にチェックし、手動でリークをチェックするための追加のセーフガードとして使用したいと考えています。valgrind の下でプロセスを実行するようにスクリプトを更新するのは簡単ですが、各テストは多数のプロセスを開始および停止し、約 15000 のテスト ケースがあるため、何千もの個別のレポートが作成されることになります。

これらのレポートをマージできるツールはありますか? valkyrie を見たことがありますが、ドキュメントによると、valgrind 3.5 をサポートしていません。

4

3 に答える 3

1

コードがほとんどクリーンな場合は、エラー ケースのみを保持できます。

出力を結合するツールを正しく使用する場合は、valgrind xml 出力形式から始めるのが適切かもしれません。少なくとも、解析はそれほど難しくないはずです。valgrind ログを別のファイルに出力して、プログラムの出力から分離することもできます。また、valgrind でメモリ リークを検出したときにエラーを発生させることもできます--error-exitcode=

リークを比較するときは、何が同じメモリ リークと見なされるかを判断する必要があります。

于 2010-06-25T13:27:48.203 に答える
0

問題を解決する方法は、--gen-suppressions=allオプションを追加し、無視されたすべてのエラーを抑制ファイルに連結することです。真のリークと偽のリークを手動でソートする必要がありますが、それが完了すると、valgrind は真のリークのみを出力します。

次に、レポートに何かが書き込まれた場合は、先に進む前にメモリ リークを解決する必要があるかもしれません。

--quietオプションが必要です:サイレント モードで実行し、エラー メッセージのみを出力します。リグレッション テストを実行している場合や、他の自動テスト マシンがある場合に便利です。

于 2010-07-22T08:49:57.253 に答える