callgrind с spawn-fcgi не создает данные профилирования

Мне нужно профилировать мое приложение C++, которое начинается с spawn-fcgi. Я пытался использовать callgrind, но вывод callgrind в KCachegrind не показывает никакой информации о моих приложениях.

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 ответ

Я столкнулся с подобным поведением, когда профилированный процесс 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.

Другие вопросы по тегам