とvalgrindのの、次のコマンドを使用して、標準のメモリリークチェックを実行した後Valgrindのとメモリリーク
valgrind --tool=memcheck --leak-check=full ./path_to_program
私は概要以下しまっ:
= = 12550 ==リーク概要:間違いなく失わ
== 12550 ==:597170のバイトを7つのブロックで
== 12550 == indirectl yが失われた:10個のブロック
120のバイトは== 12550 ==おそらくは失わ:1,455ブロック内770281バイト
== 12550 ==まだ到達:2,319ブロックで181189バイト
== 12550 = =抑制:0ブロックの0バイト
== 12550 ==到達可能なブロック(ポインタが見つかったブロック)は表示されません。
== 12550 ==は、それらを表示するには、との再実行:--leakチェック=フル--show-到達可能= yesの
== 12550 ==
== 12550 ==カウントのために-v
== 12550 == ERROR概要::325のコンテキストから325のエラー(抑制:11から176)と、検出されたエラーを抑制し再実行の
それは私には非常に良い見ていません、私の質問は
ですこれらのリークがすべてある場合、私のプログラムはなぜ爆発しないのですか?
も違いです:間違いなく、間接的に
- はまだ到達可能
とどのように私は修正しようとすることができますそれら?
なぜあなたはそれが爆発すると思いますか? –
@OliCharlesworth原因多くのメモリが解放されていない – Matteo
@Matteo:それはあなたが非常に制約の厳しい環境にいない限り、最悪の場合、わずかにMBのMBであり、 – Mat