Приложение Qt для профилирования, использующее плагины - PullRequest
3 голосов
/ 25 ноября 2008

У меня есть приложение среднего размера, написанное на c ++ с использованием Qt. Я хотел профилировать вещи, чтобы увидеть, где находится мой наименее производительный код, поэтому я скомпилировал все с помощью -pg.

Однако мое приложение использует lot плагинов с использованием механизма QTPlugin (сводится к dlopen и dlsym экземпляра объекта на плагин). Я заметил, что gprof, похоже, не включает функции из плагинов.

Да, плагины также скомпилированы с -pg и всем этим. Есть ли что-то особенное, что я должен сделать, чтобы все профилировать? Или я упускаю что-то простое?

Ответы [ 2 ]

3 голосов
/ 25 ноября 2008

Если вы можете использовать его, я думаю, Callgrind от Valgrind требует только символы отладки (-g) для профилирования кода. Однако я не уверен, работает ли он с динамически связанными объектами.

2 голосов
/ 26 ноября 2008

Valgrind (callgrind с kcachegrind в качестве зрителя) - хороший выбор, как сказал Стрейджер. Вы также можете попробовать использовать http://oprofile.sourceforge.net/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...