如何将valgrind与正在运行的进程相关联?

时间:2013-09-17 09:09:50

标签: c++ linux memory-leaks valgrind

我有一个名为“ifmFuseHandler”的二进制文件,它由shell脚本调用,如下所示:     su - $USER -c "cd $DIR_INDEX;valgrind --leak-check=full ifmFuseHandler $IFM_SINGLE_THREAD -o allow_other $IFM_MOUNT"

但问题是,我只能看到valgrind日志一次,当控件命中这一行shell时,即使ifmFuseHandler启动并运行,valgrind也不会提供任何分析信息。

因此,如下所示,但没有进一步的记录:

insite1@POC-Messaging1:/opt/insiteone/log> ps -ef | grep ifmFuseHandler
insite1    622     1  0 04:19 ?        00:00:02 valgrind --leak-check=full ifmFuseHandler -o allow_other /opt/insiteone/fuse-mount
insite1   3225 26014  0 04:32 pts/2    00:00:00 grep ifmFuseHandler

1 个答案:

答案 0 :(得分:1)

您需要调整shell脚本,以便按照here所述将valgrind的输出显式记录到文件中。

如果您的程序被多次调用,请尝试使用带有PID的文件名,如--log-file=<filename> here的使用中所述。

只需确保您的输出文件位于易于阅读的位置。