Команда Linux Linux

Используйте «nm» для отображения символов из объектных файлов.

СИНТАКСИС

nm [ -a | – debug-syms ] [ -g | – только extern ] < бр /> [ -B ] [ -C | – demangle [= стиль ]] [<сильный > -D | – динамический ]
[ -S | – печать размер ] [<сильный > -s | – печать armap ]
[ -A | -o | – -print-имя файла-]
[ -n | -v | – числовой сортировки ] [ -p | – нет сортировки ]
[ -r | – обратный сортировки ] [ – размер сортировки ] [ -u | – не определено только ]
[ -t радикс | – Radix = радикс ] [ -P | – портативность ]
[ – цель = bfdname ] [ -f формат | <сильный > – формат = формат ]
[ – де оштрафован только ] [ -l | – строка-число ] [ – нет-demangle ]
[ -V | – версия ] [ -X 32_64 ] [ – помощь ] [ objfile …]

ОПИСАНИЕ

GNU nm перечисляет символы из объектных файлов objfile … Если в качестве аргументов не указаны объектные файлы, nm предполагает наличие файла a .out .

Для каждого символа нм показывает:

*

Значение символа в основаниях, выбранных параметрами (см. Ниже), или шестнадцатеричное значение по умолчанию.

*

Тип символа. По крайней мере, используются следующие типы; другие также зависят от формата объектного файла. Если строчные, символ является локальным; в верхнем регистре символ является глобальным (внешним).

Значение символа является абсолютным и не будет изменено при дальнейшем связывании.

В

Символ находится в разделе неинициализированных данных (известном как BSS).

С

Символ является общим. Общие символы – неинициализированные данные. При связывании могут появляться несколько общих символов с одним и тем же именем. Если символ определен где-либо, общие символы рассматриваются как неопределенные ссылки.

D

Символ находится в разделе инициализированных данных.

г

Символ находится в инициализированном разделе данных для небольших объектов. Некоторые форматы объектных файлов обеспечивают более эффективный доступ к небольшим объектам данных, таким как глобальная переменная int, в отличие от большого глобального массива.

я

Символ является косвенной ссылкой на другой символ. Это расширение GNU для формата объектного файла a.out, которое используется редко.

N

Символ является отладочным символом.

р

Символ находится в разделе данных только для чтения.

S

Символ находится в разделе неинициализированных данных для небольших объектов.

T

Символ находится в текстовом (кодовом) разделе.

U

Символ не определен.

В

Символ является слабым объектом. Когда слабый определенный символ связан с нормальным определенным символом, нормальный определенный символ используется без ошибок. Когда слабый неопределенный символ связан, а символ не определен, значение слабого символа становится равным нулю без ошибок.

W

Символ является слабым символом, который не был специально помечен как символ слабого объекта. Когда слабый определенный символ связан с нормальным определенным символом, нормальный определенный символ используется без ошибок. Когда слабый неопределенный символ связан, а символ не определен, значение слабого символа становится равным нулю без ошибок.

Символ является символом удара в объектном файле a.out. В этом случае будут напечатаны следующие значения: другие поля для меток, поле для меток и тип метки. Символы Stabs используются для хранения отладочной информации.

?

Тип символа неизвестен или зависит от формата объектного файла.

*

Название символа

ОПЦИИ

Длинные и короткие формы опций, показанные здесь как альтернативы, эквивалентны.

-A

-o

– печать имя-файла

Каждый символ должен начинаться с имени входного файла (или элемента архива), в котором он был найден, вместо того, чтобы идентифицировать входной файл только один раз перед всеми его символами.

-a

– отладочные-Симс

Показать все символы, даже символы только для отладчика; обычно они не перечислены.

-B

Аналогично – format = bsd (для совместимости с MIPS nm ).

-C

– demangle [= стиль ]

Декодировать ( demangle ) имена символов низкого уровня в имена пользователей.Помимо удаления любого начального подчеркивания, добавленного системой, это делает имена функций C ++ читабельными. Различные компиляторы имеют разные стили искажения. Необязательный аргумент стиля demangling может использоваться для выбора подходящего стиля demangling для вашего компилятора.

– нет-demangle

Не разбирайте имена символов низкого уровня. Это по умолчанию.

-D

– динамический

Отображать динамические символы, а не нормальные символы. Это имеет смысл только для динамических объектов, таких как определенные типы общих библиотек.

-f Формат

– формат = Формат

Используйте выходной формат format , который может быть «bsd», «sysv» или «posix». По умолчанию это «bsd». Только первый символ формата имеет значение; это может быть как верхний, так и нижний регистр.

-g

– ехЬегп только

Отображать только внешние символы.

-l

– строка-число

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

-n

-v

<Сильного> – числовая сортировка

Сортируйте символы численно по их адресам, а не по алфавиту по их именам.

-p

– нет сортировки

Не пытайтесь сортировать символы в любом порядке; распечатайте их в указанном порядке.

-P

– портативность

Используйте стандартный формат вывода POSIX.2 вместо формата по умолчанию. Эквивалент -f posix .

-S

– печать размер

Размер печати определенных символов для выходного формата “bsd”.

-s

– печать armap

При выводе списка символов из членов архива включите указатель: отображение (хранящееся в архиве ar или ranlib ), модули которого содержат определения, для каких имен.

-r

– обратный сортировки

Обратный порядок сортировки (числовой или буквенный); пусть последний придет первым.

– размер сортировки

Сортировка символов по размеру. Размер вычисляется как разница между значением символа и значением символа со следующим более высоким значением. Размер символа печатается, а не значение.

-t радикс

– Radix = радикс

Используйте radix в качестве основы для печати значений символов. Это должно быть d для десятичного числа, o для восьмеричного или x для шестнадцатеричного.

– цель = bfdname

Укажите формат объектного кода, отличный от формата вашей системы по умолчанию.

-u

– не определено только

Отображать только неопределенные символы (внешние для каждого объектного файла).

– определяется только

Отображать только определенные символы для каждого объектного файла.

-V

– версия

Показать номер версии nm и выйти.

-X

Этот параметр игнорируется для совместимости с версией AIX nm . Он принимает один параметр, который должен быть строкой 32_64 . Режим по умолчанию AIX nm соответствует -X 32 , который не поддерживается GNU nm .

– помощь

Показать сводку параметров nm и выйти.

СМОТРИТЕ ТАКЖЕ

ar (1), objdump (1), ranlib (1) и информационные записи для binutils .

Используйте команду man (% man ), чтобы увидеть, как команда используется на вашем конкретном компьютере.

Оцените статью
Solutics.ru
Добавить комментарий