Вывод профиля callgrind с помощью backtrace?

Можно ли получить обратные следы с помощью профилирования, полученного из Callgrind?

Если это так, вы могли бы объяснить, как это делается?

[обновление] Это может быть моя терминология. Как называется backtrace/callstack и где он находится при использовании Kcachegrind для просмотра результатов профилирования Callgrind?

1 ответ

Решение

Когда вы запускаете Kcachegrind в первый раз, у вас есть три области: Слева, у вас есть DockWidget, озаглавленный "Плоский профиль", есть список функций, отсортированных по проценту стоимости в приложении, включая все дополнительные вызовы. (поэтому основные обычно стоят почти 100%). Затем в правой нижней части у вас есть еще один док-виджет с вкладкой "График вызовов", здесь у вас есть дерево всех вызовов и, возможно, то, что вы ищете;)

Но если вам нужна обратная трассировка в определенной точке с более подробной информацией о контексте, я советую вам использовать здесь gdb с точкой останова и продолжать выполнение до тех пор, пока вы не достигнете нужного контекста. Профилирование в основном используется для определения того, какая функция стоит больше всего в вашем приложении, а затем посмотреть, сможете ли вы ее оптимизировать.

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