memcheckフォークプロセスにvalgrindを指示するにはどうすればよいですか?
質問
valgrind
でリークをチェックしたいプロセス x
があります。問題は、 x
が y
によって実行され、 y
が z
によって実行されることです。 y
と z
は環境変数などの x
の環境を設定するため、 x
をスタンドアロンで実行できません。コマンドラインスイッチ、 x
などで必要なファイル
-
z
で実行するようにvalgrind
に指示する方法はありますか? -
valgrind
にフォークを追跡するように指示する方法はありますが、x
という名前のプロセスのみをレポートしますか? - すでに実行中のプロセスにアタッチするように
valgrind
に指示できる方法はありますか、gdbでできる方法ですか?
これが重要かどうかはわかりませんが、SuSE64 linuxおよびvalgrind-2.4.0で実行しています。
ありがとう!
解決
- Valgrindは、
-trace-children = yes
オプションを指定すると、フォークされたプロセスに従います。 - 適切なフィルターを使用してこれを達成できるはずです。
- いいえ。 ValgrindはLD_PRELOADを使用してモジュール読み込みコードにフックするため、実行中のプロセスにアタッチすることはできません。
所属していません StackOverflow