如何告诉valgrind memcheck分叉进程?

我有一个stream程x ,我想检查与valgrind泄漏。 问题是xy运行, y依次由z运行。 我不能运行x独立,因为yzx设置环境,例如环境variables,命令行开关, x所需的文件等。

  1. 有什么办法可以告诉valgrindz上运行,但是要遵循它发现的任何分叉并且报告它们?
  2. 有什么办法可以告诉valgrind遵循任何分叉,但只报告名为x的进程?
  3. 有什么办法可以告诉valgrind附加到已经运行的进程,我可以用gdb做的方式吗?

我不知道这是否重要,但我正在SuSE64 linux和valgrind-2.4.0下运行。

谢谢!

Solutions Collecting From Web of "如何告诉valgrind memcheck分叉进程?"

  1. 当给定了--trace-children=yes选项时,Valgrind遵循分叉进程。
  2. 你应该能够通过使用合适的过滤器来实现这一点。
  3. 不。Valgrind使用LD_PRELOAD挂载到模块加载代码中,因此无法附加到正在运行的进程。