В vmlinux нет символов
Я нуждаюсь oprofile
отображать подробную информацию о том, что происходит внутри ядра, вместо того, чтобы пометить его как /no-vmlinux
,
Чтобы быть в состоянии обеспечить oprofile
с символами ядра я использовал скрипт extract_vmlinux
доступно в /usr/src/linux-headers-3.9.7/scripts
чтобы получить vmlinux
из сжатой версии vmlinuz
,
Тогда я позвонил operf
с возможностью --vmlinux path_to_vmlinux
, Тем не мение, operf
отображает следующее сообщение об ошибке:
Невозможно получить конечный адрес vmlinux Указанный файл vmlinux (/tmp/vmlinux) не является допустимым. Убедитесь, что вы используете несжатый файл изображения (например, vmlinux, а не vmlinuz)
Следуя этому сообщению об ошибке в коде operf
Я разобрался что это происходит скорее всего после звонка objdump -t
(опция -t это "Распечатать записи таблицы символов файла." в соответствии с man-страницей objdump) И когда я запускаю: "objdump -t vmlinux
", Я получаю следующий вывод:
vmlinux: file format elf64-x86-64
SYMBOL TABLE:
no symbols
Не могли бы вы мне помочь?