valgrind在服务器进程上

Pig*_*gol 8 valgrind traffic

嗨,我是valgrind的新手.我知道如何从命令行运行valgrind可执行文件.但是如何在服务器进程上运行valgrind,如apache/myqld/traffic server等.

我想在流量服务器上运行valgrind(http://incubator.apache.org/projects/trafficserver.html)来检测我写的插件中发生的一些内存泄漏.

有什么建议 ?

谢谢,Pigol

And*_*lam 5

您必须在Valgrind的控制下启动服务器.只需使用服务器的正常启动命令,并在其前面加上valgrind.

Valgrind将附加到您的主要"服务器"进程产生的每个进程.当每个线程或进程结束时,Valgrind将输出其分析,因此我建议将其传递给文件(不确定它是否出现在stderr或stdout上.)

如果您的常用启动命令是/usr/local/mysql/bin/mysqld,请使用启动服务器valgrind /usr/local/mysql/bin/mysqld.

如果您通常使用脚本(如/etc/init.d/mysql start)启动服务,则可能需要在脚本中查找脚本执行的实际命令,并运行该脚本而不是脚本.

不要忘记将--leak-check=full选项传递给valgrind以获取内存泄漏报告.