我需要分析以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。
请建议正确的选项以获取我的应用程序的分析信息。
答案 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。