Как получить callgrind для вывода информации об исходной строке? - PullRequest
5 голосов
/ 30 мая 2010

Я пытаюсь профилировать разделяемую библиотеку в GNU / Linux, которая выполняет обработку звука в реальном времени, поэтому производительность важна. Я запускаю другую программу, которая подключает ее к аудиовходу и выходу моей системы и профилирует это с помощью callgrind.

Глядя на результаты в KCacheGrind, я получаю отличную информацию о том, какие функции занимают большую часть моего времени. Тем не менее, он не позволяет мне просматривать построчную информацию, а вместо этого говорит, что мне нужно скомпилировать ее с отладочными символами и снова запустить профилирование.

Программа, которую я профилирую, не скомпилирована с символами отладки, но библиотека есть. И я знаю это, потому что, что интересно, аннотации исходного кода для cachegrind работают нормально.

Когда я запускаю callgrind, он говорит, что по умолчанию дамп информации об исходной строке, но он просто этого не делает. Есть ли способ, которым я мог бы заставить это или выяснить, что его останавливает?

Ответы [ 2 ]

2 голосов
/ 19 июня 2010
0 голосов
/ 25 июня 2010

Используете ли вы --dump-instr=yes --trace-jump=yes для получения информации об уровне инструкции?

...