Использовать gprof в библиотеке.so?

Я собираю плагин.so и хотел бы профилировать его с помощью gprof. На данный момент у меня нет возможности перестроить (с опцией -pg) исполняемый файл, который ссылается на него. Можно ли использовать gprof для профилирования только этого.so файла после его загрузки и ссылки на него?

2 ответа

Это невозможно с gprof (по моему опыту, gprof в принципе не работает, если вы не можете статически связать все, включая libc, и люди, которые libc действительно не хотят, чтобы вы делали это в наши дни), но вы должны быть в состоянии сделать это с KCachegrind. Он даст вам подробную информацию о всей программе, но без символов для части, для которой у вас нет источника, и вы просто проигнорируете эту часть. Бонус: не нужно перекомпилировать.

Как сказал Зак, gprof этого не сделает.

Но даже если это произойдет, вы можете быть разочарованы, потому что gprof обнаруживает только определенные виды проблем. Если вы найдете и исправите эти проблемы, производительность останется ограниченной проблемами, которых она не обнаружила.

Вот список проблем, не только с gprof, но и со многими профилировщиками.

Попробуйте Zoom.

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