Содержание
Используйте «nm» для отображения символов из объектных файлов.
СИНТАКСИС
нм [—|—отлаживать-Симс] [-грамм|—ехЬегп только]
[-В] [-С|—demangle[= Стиль]] [-D|—динамический]
[-S|—печать размера] [-s|—печать armap]
[—|-о|—Имя-файла для печати]
[-N|-v|—Числовая сортировка] [-п|—нет сортировки]
[-р|—обратного рода] [—размер сортировки] [-U|—не определено только]
[-T радикс |—радикс =Radix] [-п|—портативность]
[—цель =bfdname] [-еформат |—формат =формат]
[—определяется только] [-L|—линии-номер] [—нет-demangle]
[-В|—версия] [-X 32_64] [—Помогите] [Objfile …]
ОПИСАНИЕ
GNU нм перечисляет символы из объектных файлов objfile … Если объектные файлы не указаны в качестве аргументов, нм предполагает наличие файла a.out.
Для каждого символа нм показывает:
*
Значение символа в основаниях, выбранных параметрами (см. Ниже), или шестнадцатеричное значение по умолчанию.
*
Тип символа. По крайней мере, используются следующие типы; другие также зависят от формата объектного файла. Если строчные, символ является локальным; в верхнем регистре символ является глобальным (внешним).
Значение символа является абсолютным и не будет изменено при дальнейшем связывании.
В
Символ находится в разделе неинициализированных данных (известном как BSS).
С
Символ является общим. Общие символы — неинициализированные данные. При связывании могут появляться несколько общих символов с одним и тем же именем. Если символ определен где-либо, общие символы рассматриваются как неопределенные ссылки.
D
Символ находится в разделе инициализированных данных.
грамм
Символ находится в инициализированном разделе данных для небольших объектов. Некоторые форматы объектных файлов обеспечивают более эффективный доступ к небольшим объектам данных, таким как глобальная переменная int, в отличие от большого глобального массива.
я
Символ является косвенной ссылкой на другой символ. Это расширение GNU для формата объектного файла a.out, которое используется редко.
N
Символ является отладочным символом.
р
Символ находится в разделе данных только для чтения.
S
Символ находится в разделе неинициализированных данных для небольших объектов.
T
Символ находится в текстовом (кодовом) разделе.
U
Символ не определен.
В
Символ является слабым объектом. Когда слабый определенный символ связан с нормальным определенным символом, нормальный определенный символ используется без ошибок. Когда слабый неопределенный символ связан, а символ не определен, значение слабого символа становится равным нулю без ошибок.
W
Символ является слабым символом, который не был специально помечен как символ слабого объекта. Когда слабый определенный символ связан с нормальным определенным символом, нормальный определенный символ используется без ошибок. Когда слабый неопределенный символ связан, а символ не определен, значение слабого символа становится равным нулю без ошибок.
—
Символ является символом удара в объектном файле a.out. В этом случае будут напечатаны следующие значения: другие поля для меток, поле для меток и тип метки. Символы Stabs используются для хранения отладочной информации.
?
Тип символа неизвестен или зависит от формата объектного файла.
*
Название символа
ПАРАМЕТРЫ
Длинные и короткие формы опций, показанные здесь как альтернативы, эквивалентны.
—
-о
—Имя-файла для печати
Каждый символ должен начинаться с имени входного файла (или элемента архива), в котором он был найден, вместо того, чтобы идентифицировать входной файл только один раз перед всеми его символами.
—
—отлаживать-Симс
Показать все символы, даже символы только для отладчика; обычно они не перечислены.
-В
Такой же как —Формат = BSD (для совместимости с MIPS нм).
-С
—demangle [=стиль]
Декодировать (деманглировать) имена символов низкого уровня в имена пользователей. Помимо удаления любого начального подчеркивания, добавленного системой, это делает имена функций C ++ читабельными. Различные компиляторы имеют разные стили искажения. Необязательный аргумент стиля demangling может использоваться для выбора подходящего стиля demangling для вашего компилятора.
—нет-demangle
Не разбирайте имена символов низкого уровня. Это по умолчанию.
-D
—динамический
Отображать динамические символы, а не нормальные символы. Это имеет смысл только для динамических объектов, таких как определенные типы общих библиотек.
-е формат
—формат =формат
Используйте формат выходного формата, который может быть «bsd», «sysv» или «posix». По умолчанию это «bsd». Значит только первый символ формата; это может быть как верхний, так и нижний регистр.
-грамм
—ехЬегп только
Отображать только внешние символы.
-L
—линии-номер
Для каждого символа используйте отладочную информацию, чтобы попытаться найти имя файла и номер строки. Для определенного символа ищите номер строки адреса символа. Для неопределенного символа ищите номер строки записи перемещения, которая ссылается на символ. Если можно найти информацию о номере строки, напечатайте ее после другой информации о символе.
-N
-v
—Числовая сортировка
Сортируйте символы численно по их адресам, а не по алфавиту по их именам.
-п
—нет сортировки
Не пытайтесь сортировать символы в любом порядке; распечатайте их в указанном порядке.
-п
—портативность
Используйте стандартный формат вывода POSIX.2 вместо формата по умолчанию. Эквивалентно -ф посикс.
-S
—печать размера
Размер печати определенных символов для выходного формата «bsd».
-s
—печать armap
При перечислении символов от участников архива включите индекс: отображение (хранится в архиве Арканзас или же ranlib) из каких модулей содержатся определения, для каких имен.
-р
—обратного рода
Обратный порядок сортировки (числовой или буквенный); пусть последний придет первым.
—размер сортировки
Сортировка символов по размеру. Размер вычисляется как разница между значением символа и значением символа со следующим более высоким значением. Размер символа печатается, а не значение.
-T основание системы счисления
—радикс =основание системы счисления
Используйте radix как основание для печати значений символов. Это должно быть d для десятичного числа, о для восьмеричного или Икс для шестнадцатеричного.
—цель =bfdname
Укажите формат объектного кода, отличный от формата вашей системы по умолчанию.
-U
—не определено только
Отображать только неопределенные символы (внешние для каждого объектного файла).
—определяется только
Отображать только определенные символы для каждого объектного файла.
-В
—версия
Показать номер версии нм и выход.
-Икс
Эта опция игнорируется для совместимости с версией AIX нм. Он принимает один параметр, который должен быть строкой 32_64. Режим AIX по умолчанию нм соответствует-X 32, который не поддерживается GNU нм.
—Помогите
Показать сводку опций нм и выход.
СМОТРИТЕ ТАКЖЕ
ar (1), objdump (1), ranlib (1) и записи Info для binutils.
Используйте команду man (% man), чтобы увидеть, как команда используется на вашем компьютере.