如何告诉 valgrind 到 memcheck 分叉进程?
题
我有一个过程 x
我想检查是否有泄漏 valgrind
. 。问题是 x
是由 y
, , 和 y
依次由 z
. 。我跑不了 x
独立因为 y
和 z
设置环境 x
, ,例如环境变量、命令行开关、所需的文件 x
ETC。
- 有什么办法可以告诉我
valgrind
运行在z
但要跟踪它发现的任何分叉并报告它们吗? - 有什么办法可以告诉我
valgrind
跟踪任何分叉,但仅报告名为的进程x
? - 有什么办法可以告诉我
valgrind
附加到已经运行的进程,我可以用 gdb 做的方式吗?
我不知道这是否重要,但我在 SuSE64 linux 和 valgrind-2.4.0 下运行。
谢谢!
解决方案
- 当给定以下条件时,Valgrind 遵循分叉进程
--trace-children=yes
选项。 - 您应该能够通过使用合适的过滤器来实现这一点。
- 不。Valgrind 使用 LD_PRELOAD 挂钩到模块加载代码,因此不可能附加到正在运行的进程。
不隶属于 StackOverflow