Я пытался найти связанный вопрос, но все предыдущие вопросы о профилировщиках для собственного C++ в окнах. Я погуглил некоторое время и узнал о gprof, но вывод gprof на самом деле содержал партию неясных внутренних функций. Существует ли хороший профилировщик C++ с открытым исходным кодом с хорошей документацией?
Valgrind
Я полностью рекомендую это. http://en.wikipedia.org/wiki/Valgrind
Не используйте gprof, по причинам, приведенным здесь .
Все, что вам нужно, это стекинг-шоу, объясненное здесь . Одним из способов получения стековых снимков является утилита pstack. Другой способ - использование "Паузы" или ctrl-разрыва под отладчиком. Также lsstack, если вы можете получить копию.
Если вы хотите потратить деньги, RotateRight делает хорошую утилиту, основанную на выборке стека, называемую Zoom.
. Скомпилируйте, используя флаг -pg
и используйте gprof
.
Если Вы не возражаете против зависимостей библиотеки KDE, то KCachegrind очень полезен с добавленной визуализацией. Она зависит от Callgrind и Valgrind, как можно было догадаться, поэтому никаких специальных флагов компилятора во время компиляции не требуется.
.