2016-06-06 18 views
2

Я пытаюсь использовать Linux perf для выполнения анализа производительности. У меня есть приложение, которое построено с лишенными символов, и я был удивлен, что Linux perf top не смог отобразить строку disassmbly. Он отобразил только исходный EIP.perf view view разборки без символа (с разделенным двоичным кодом)

Как сопоставить событие производительности с исходной конвейерной линией без информации о символе?

+0

'perf top' дает живой обзор профилированной активности, которая на самом деле не совместима с аннотированным кодом. Я имею в виду, что вам нужны подробные сведения о разных статистических данных. Если вы хотите проанализировать производительность своего приложения, используйте 'perf record', а затем' perf report' или 'perf annotate'. – amigadev

ответ

-1

Возможно, вы можете попробовать следующее: 1) добавить '-g' в Makefile; 2) используйте «objdump», чтобы выгрузить смесь исходного кода и asm.

+0

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

+0

@Patrick Использование '-g' и наличие символов отладки помогло бы ... Вы хотите сказать, что хотите провести анализ производительности в деградированных условиях? – amigadev