callgrind with spawn-fcgi没有创建分析数据

时间:2014-02-05 00:00:08

标签: valgrind callgrind spawn-fcgi

我需要分析以spawn-fcgi开头的c ++应用程序。 我尝试使用callgrind,但KCachegrind中的callgrind输出没有显示我的应用程序的任何信息。

valgrind --tool=callgrind --dump-instr=yes --simulate-cache=yes --collect-jumps=yes --demangle=no --trace-children=yes --callgrind-out-file=%p spawn-fcgi -s /tmp/sock.tmp ./myApp arg1 arg2

此命令创建两个文件10012和10013,但第二个文件为空。 第一个文件有函数信息,用于定位spawn-fcgi,ld-2。*。so amd libc。

请建议正确的选项以获取我的应用程序的分析信息。

1 个答案:

答案 0 :(得分:2)

当profiled fastcgi进程在退出时崩溃时,我遇到了类似的行为(因此在使用SIGSEGV终止时不会转储统计信息)。

我使用callgrind_control工具在任意时间点转储统计信息:

callgrind_control --dump

此外,您可以停止使用callgrind_control -i off收集统计信息,使用callgrind_control -i on重新启用,使用callgrind_control -z重置。

有关详细信息,请参阅callgrind_control手册http://valgrind.org/docs/manual/cl-manual.html