Интерпретация данных callgrind - PullRequest
20 голосов
/ 14 февраля 2012

Мне нужен динамический график вызовов для моего приложения.Я запускаю его с помощью инструмента callgrind (valgrind suite) и получаю файл callgrind.out.xxxxx.Теперь я хочу сделать графическое представление этих данных.KCacheGrind мне не очень помогает, потому что он рисует ограниченную часть графика (рисует ~ 50 функций вместо ~ 1500 профилированных, и я не знаю, как это исправить).Как я могу получить графическое изображение, где будут нарисованы все функции?

Ответы [ 2 ]

28 голосов
/ 15 февраля 2012

Хорошо, я нашел способ.Созданный файл callgrind.out можно преобразовать в файл dot, используя gprof2dot (да, этот инструмент также может анализировать файлы callgrind).И тогда вы можете получить графическое изображение, используя dot -T<type> dotfile.dot -o graphfile.<type>

25 голосов
/ 18 февраля 2013

Использование следующей команды для создания graph.png с использованием gprof2dot

$ ./gprof2dot.py --format=callgrind --output=out.dot /path/to/callgrind.out
$ dot -Tpng out.dot -o graph.png
...