我有一个过程 x 我想检查是否有泄漏 valgrind. 。问题是 x 是由 y, , 和 y 依次由 z. 。我跑不了 x 独立因为 yz 设置环境 x, ,例如环境变量、命令行开关、所需的文件 x ETC。

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

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

谢谢!

有帮助吗?

解决方案

  1. 当给定以下条件时,Valgrind 遵循分叉进程 --trace-children=yes 选项。
  2. 您应该能够通过使用合适的过滤器来实现这一点。
  3. 不。Valgrind 使用 LD_PRELOAD 挂钩到模块加载代码,因此不可能附加到正在运行的进程。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top