Ридельф
![]() | Эта статья предоставляет недостаточный контекст для тех, кто не знаком с предметом . ( Июль 2018 г. ) |
readelf — программа для отображения различной информации об объектных файлах в Unix -подобных системах, аналогичная objdump . Это часть GNU binutils .
readelf и objdump
[ редактировать ]![]() | этого раздела Тон или стиль могут не отражать энциклопедический тон , используемый в Википедии . ( Июль 2024 г. ) |
Обе программы способны отображать содержимое файлов формата ELF . objdump видит файл ELF через фильтр BFD . Если в BFD есть ошибка, из-за которой он не согласен с машинной константой в e_flags, то велики шансы, что он останется внутренне согласованным. Компоновщик видит это как BFD, objdump видит это как BFD, GAS видит это как BFD. Нужен был инструмент, который мог бы выяснить, что на самом деле написано в файле.
Вот почему программа readelf не связана с библиотекой BFD — она существует как независимая программа, помогающая проверить правильность работы BFD.
Также возможен случай, когда readelf может предоставить больше информации о файле ELF, чем предоставляет objdump . В частности, он может отображать отладочную информацию DWARF, чего (на данный момент) objdump не может. [ 1 ]
Пример
[ редактировать ]Следующая команда отображает содержимое динамического раздела файла (чтобы проверить зависимости общей библиотеки и rpath ): [ 2 ]
$ readelf -d <file name>
Ссылки
[ редактировать ]- ^ «readelf против objdump: зачем нужны оба» на binutils-gdb» . GitHub .
- ^ «readelf(1) — страница руководства Linux» . man7.org . Проверено 9 апреля 2021 г.