プログラムで実行するvalgrind --leak-check=yes
と、数バイトの失われたメモリが報告されます。このメモリの内容を表示する(つまり、そこに保存されているデータをダンプする)ことは可能ですか?
7729 次
1 に答える
12
Valgrindの最後のバージョン(3.8.1)でそれを行うことができます:
実行可能ファイルを起動して、起動時にgdbserverをアクティブ化します。
valgrind --vgdb-error=0 ....<your program>
次に、別のウィンドウで、gdbをValgrindに接続します(Valgrindの指示に従います)。次に、関連する場所(メインの最後など)にブレークポイントを設定し、gdbを使用します
continue
ブレークポイントに到達するまでコマンドを実行します。次に、gdbからリーク検索を実行します。
monitor leak_check full reachable any
次に、関連する損失レコードnrの到達可能なブロックのアドレスをリストします。
monitor block_list <loss_record_nr>
次に、gdb機能を使用して、指定されたアドレスのメモリを調べることができます。このメモリへのポインタを保持しているユーザーを検索する場合は、潜在的に興味深いコマンド「who_points_at」にも注意してください。
于 2012-10-04T20:34:12.710 に答える