我有一个名为“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
最佳答案
您需要调整您的 shell 脚本以显式地将 valgrind 的输出记录到文件中,如 here 所述.
如果您的程序被多次调用,请尝试使用带有 PID 的文件名,如 --log-file=<filename>
的用法中所述here .
只需确保您的输出文件位于易于阅读的位置即可。
关于c++ - 如何将 valgrind 与正在运行的进程相关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18845708/