Вывод профиля callgrind с помощью backtrace?
Можно ли получить обратные следы с помощью профилирования, полученного из Callgrind?
Если это так, вы могли бы объяснить, как это делается?
[обновление] Это может быть моя терминология. Как называется backtrace/callstack и где он находится при использовании Kcachegrind для просмотра результатов профилирования Callgrind?
1 ответ
Когда вы запускаете Kcachegrind в первый раз, у вас есть три области: Слева, у вас есть DockWidget, озаглавленный "Плоский профиль", есть список функций, отсортированных по проценту стоимости в приложении, включая все дополнительные вызовы. (поэтому основные обычно стоят почти 100%). Затем в правой нижней части у вас есть еще один док-виджет с вкладкой "График вызовов", здесь у вас есть дерево всех вызовов и, возможно, то, что вы ищете;)
Но если вам нужна обратная трассировка в определенной точке с более подробной информацией о контексте, я советую вам использовать здесь gdb с точкой останова и продолжать выполнение до тех пор, пока вы не достигнете нужного контекста. Профилирование в основном используется для определения того, какая функция стоит больше всего в вашем приложении, а затем посмотреть, сможете ли вы ее оптимизировать.