3

我需要分析我的以 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 的功能信息。

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

4

1 回答 1

2

当分析的 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

于 2014-02-26T14:29:05.703 回答