Разница между нм и objdump

Глядя на руководства, objdump и nm имеют перекрывающиеся функции.

Когда бы вы использовали каждый из них? Какова была первоначальная цель каждой команды?


person Natan Yellin    schedule 28.08.2011    source источник


Ответы (2)


У них нет схожих параметров. nm перечисляет символы файлов, а objdump может отображать много различной информации о файлах. objdump также может отображать символы, и на странице руководства явно указано, что «это похоже на информацию, предоставляемую программой nm, хотя формат отображения отличается».

person wRAR    schedule 28.08.2011
comment
Я так не думаю. objdump — более общий инструмент. - person wRAR; 28.08.2011

Кажется, что nm — это posix, поэтому он доступен на платформах, отличных от gnu.

http://pubs.opengroup.org/onlinepubs/000095399/utilities/nm.html

Я вижу, например, что OSX по умолчанию не поставляется с objdump, но предоставляет «otool», который предлагает некоторые из тех же функций, которые «objdump» предлагает в Linux.

Так что я думаю, вы бы использовали nm, если действительно все, что вам нужно, это просматривать таблицы символов или подобные задачи, и вы заботитесь о переносимости вашего скрипта. Для некоторых других задач, таких как просмотр отладочной информации файла, objdump может быть более подходящим.

person Tony Clifton    schedule 30.06.2013