Linuxで動作するC++アプリケーションでメモリリークを把握しようとしています。私たちはValgrind 3.6.0を使用しており、「確実に失われた」スタックをほとんど取得できませんでした。レポートでは、「完全に失われた」バイト数も表示されていました。Valgrindはリークを修正した後でも同じメモリリークを示します
修正内容は次のとおりです。変更されたdelete ptr
〜delete[] ptr
ここで、ptr
はヒープ上の場所の配列を指しています。
ptrが十分な量のメモリを保持していたことに注意してください。同様に他の多くの削除を修正しました。したがって、我々はリークが減少することを期待していました。
しかし、修正後、バググルンドはまだ、サマリーの以前と同じ数のリークを報告しています。
==00:00:15:13.661 14014== LEAK SUMMARY:
==00:00:15:13.661 14014== definitely lost: 236 bytes in 8 blocks
==00:00:15:13.661 14014== indirectly lost: 22,113 bytes in 17 blocks
==00:00:15:13.662 14014== possibly lost: 695,006 bytes in 47 blocks
==00:00:15:13.662 14014== still reachable: 2,056,059 bytes in 732 blocks
==00:00:15:13.662 14014== suppressed: 0 bytes in 0 blocks
誰かがヴァルグリンドのこのような動きを見せてくれますか? 我々はMEM_CHECKツールを呼び出すために、すべての権利のオプションを使用しているなど
コードなしでは、お手伝いできません。 –