Я пытаюсь профилировать разделяемую библиотеку в GNU / Linux, которая выполняет обработку звука в реальном времени, поэтому производительность важна. Я запускаю другую программу, которая подключает ее к аудиовходу и выходу моей системы и профилирует это с помощью callgrind.
Глядя на результаты в KCacheGrind, я получаю отличную информацию о том, какие функции занимают большую часть моего времени. Тем не менее, он не позволяет мне просматривать построчную информацию, а вместо этого говорит, что мне нужно скомпилировать ее с отладочными символами и снова запустить профилирование.
Программа, которую я профилирую, не скомпилирована с символами отладки, но библиотека есть. И я знаю это, потому что, что интересно, аннотации исходного кода для cachegrind работают нормально.
Когда я запускаю callgrind, он говорит, что по умолчанию дамп информации об исходной строке, но он просто этого не делает. Есть ли способ, которым я мог бы заставить это или выяснить, что его останавливает?