Nm - Линукс команда - Unix команда

nm - списък символи от обект файлове

Кратък обзор

nm [ | - дебъг-симс ] [ -g | - само външно ]
[ ] [ | --Замествам [= стил ]] [ -D | --dynamic ]
[ -S | - размера на отпечатъка ] [ -s | --print-armap ]
[ | | --print-file-name ]
[ -n | -v | --numeric-sort ] [ -p | - не се сортира ]
[ -r | - обратно-сортиране ] [ --измерване ] [ -u | - само дефинирано ]
[ -t radix | - радикс = радикс ] [ -P | --поносимост ]
[ --target = bfdname ] [ -f формат | - формат = формат ]
[ - само определено ] [ -l | - линии-числа ] [ - не се отстранява ]
[ -V | --version ] [ -X 32_64 ] [ --help ] [ objfile ...]

ОПИСАНИЕ

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

За всеки символ nm показва:

*

Стойността на символа, в радиуса, избрана от опциите (виж по-долу), или по шестнадесетичен по подразбиране.

*

Видът на символите. Използват се най-малко следните типове: други са в зависимост от файловия формат на обекта. Ако е малък, символът е локален; ако е главна, символът е глобален (външен).

А

Стойността на символа е абсолютна и няма да бъде променена чрез по-нататъшно свързване.

B

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

° С

Символът е често срещан. Общите символи са неинициализирани данни. Когато свързвате, могат да се появяват няколко общи символа със същото име. Ако символът е дефиниран навсякъде, общите символи се третират като неопределени референции.

д

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

G

Символът е в секцията за инициализирани данни за малки обекти. Някои файлови формати на обекти позволяват по-ефективен достъп до малки обекти с данни, като глобална int променлива, в противовес на голям глобален масив.

аз

Символът е индиректно позоваване на друг символ. Това е GNUextension към a.out обектния формат на файла, който рядко се използва.

N

Символът е символ за отстраняване на грешки.

R

Символът е в секция за данни само за четене.

С

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

T

Символът е в текста (код).

U

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

V

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

W

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

-

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

?

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

*

Името на символа.

НАСТРОИКИ

Дългите и кратки форми на варианти, показани тук като алтернативи, са еквивалентни.

-o

--print-файлове име

Преди всеки символ пред името на входния файл (или член на архива), в който е намерен, преди да се идентифицират само входния файл, преди всички негови символи.

--debug-SYMS

Показване на всички символи, дори символи само за отстраняване на грешки; обикновено те не са изброени.

Същото като --format = bsd (за съвместимост с MIPS nm ).

-° С

- отхвърляне [= стил ]

Декодирайте ( демонстрират ) имената на символите от ниско ниво в имена на потребителско ниво. Освен премахването на всякакви първоначални долни кодове, предварително зададени от системата, това прави C ++ имената на функциите четливи. Различните компилатори имат различни стилове. Аргументът за опция за демонтаж на стил може да се използва за избор на подходящ стил за размесване за вашия компилатор.

--no-demangle

Не махайте имената на символите на ниско ниво. Това е по подразбиране.

--dynamic

Показвайте динамичните символи, а не нормалните символи. Това е смислено само за динамични обекти, като например някои видове споделени библиотеки.

-f формат

формат = формат

Използвайте формата на изходния формат, който може да бъде "bsd", "sysv" или "posix". По подразбиране е "bsd". Само първият знак на формата е значителен; тя може да бъде или малка или малка.

-g

--extern само

Показвайте само външни символи.

-l

--line-номерата

За всеки символ използвайте информацията за отстраняване на грешки, за да се опитате да намерите име на файл и номер на ред. За определен символ, потърсете номера на адреса на символа. За неопределен символ, потърсете номера на ред на запис за преместване, който се отнася до символа. Ако можете да намерите информация за номер на ред, отпечатайте я след другата информация за символите.

-V

--numeric-сортиране

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

-p

--no-сортиране

Не се притеснявайте да подреждате символите по какъвто и да е ред; да ги отпечатате в срещания ред.

--portability

Използвайте стандартния изходен формат POSIX.2 вместо стандартния формат. Еквивалент на -f posix .

--print размер

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

--print-armap

Когато записвате символи от архивни членове, включете индекса: картографиране (съхранено в архива от ar или ranlib ), от които модулите съдържат дефиниции за кои имена.

-r

--reverse-сортиране

Обърнете реда на сортиране (цифров или азбучен); нека последният да дойде първи.

--size-сортиране

Сортиране на символите по размер. Размерът се изчислява като разликата между стойността на символа и стойността на символа със следващата по-висока стойност. Размерът на символа се отпечатва, а не стойността.

-t radix

- радикс = радикс

Използвайте radix като радиус за отпечатване на стойностите на символите. Той трябва да е d за десетично, o за осмоъгълно, или за шестнадесетично.

--target = bfdname

Посочете формат на обектен код, различен от стандартния формат на вашата система.

-u

--undefined само

Показва само неопределени символи (тези, които са външни за всеки файл с обекти).

--defined само

Показва само дефинирани символи за всеки файл с обекти.

-V

--version

Покажете номера на версията на nm и излезте.

Тази опция се игнорира за съвместимост с AIX версията на nm . Това отнема един параметър, който трябва да бъде низ 32_64 . Режимът по подразбиране на AIX nm съответства на -X 32 , което не се поддържа от GNU nm .

--помогне

Покажете резюме на опциите за nm и изход.

ВИЖТЕ СЪЩО

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

Важно: Използвайте командата човек ( % man ), за да видите как се използва команда на вашия компютър.