Nm - príkaz Linux - príkaz Unix

nm - zoznam symbolov z objektových súborov

SYNOPSA

nm [ -a | --debug-syms ] [ -g | - iba externé ]
[ -B ] [ -C1 --demangle [= štýl ]] [ -D | --dynamický ]
[ -S | -print-size ] [ -s | --print-armap ]
[ -A | -o | --print-file-name ]
[ -n | -v | --numerické-sort ] [ -p | --no-triediť ]
[ -r | --reverzné zoradenie ] [ --size-sort ] [ -u | - len nedefinované ]
[ -t radix | -radix = radix ] [ -P | --porozumiteľnosť ]
[ --target = bfdname ] [ -f formát | --format = format ]
[ - iba definované ] [ -l - line-numbers ] [ --no-demangle ]
[ -V | --version ] [ -X 32_64 ] [ --help ] [ objfile ...]

POPIS

GNU nm uvádza zoznam symbolov z objektových súborov objfile .... Ak žiadne súbory objektov nie sú uvedené ako argumenty, nm preberá súbor a.out .

Pre každý symbol, nm zobrazuje:

*

Hodnota symbolu v políčku označenom voľbami (pozri nižšie) alebo v šestnástkovej sústave.

*

Typ symbolu. Používajú sa prinajmenšom tieto typy: iné sú tiež závislé od formátu súboru objektu. Pri malých písmenách je symbol miestny; ak je veľké, symbol je globálny (externý).

Hodnota symbolu je absolútna a nebude sa meniť ďalším prepojením.

B

Symbol sa nachádza v časti neinicializovaných údajov (známe ako BSS).

C

Symbol je bežný. Bežné symboly sú neinicializované údaje. Pri prepojení sa môže zobrazovať viac spoločných symbolov s rovnakým názvom. Ak je symbol definovaný kdekoľvek, bežné symboly sa považujú za nedefinované referencie.

D

Symbol je v sekcii inicializovaných údajov.

G

Symbol je v inicializovanej sekcii údajov pre malé objekty. Niektoré formáty súborov objektov umožňujú efektívnejší prístup k malým dátovým objektom, ako je globálna int premenná na rozdiel od veľkého globálneho poľa.

ja

Symbol je nepriamy odkaz na iný symbol. Toto je GNUextension k formátu súboru a.out object, ktorý je zriedka používaný.

N

Symbol je symbol ladenia.

R

Symbol je v sekcii údajov len na čítanie.

S

Symbol sa nachádza v neinicializovanej sekcii údajov pre malé objekty.

T

Symbol je v časti text (kód).

U

Symbol je nedefinovaný.

V

Symbol je slabý objekt. Ak je slabý definovaný symbol prepojený s normálnym definovaným symbolom, normálny definovaný symbol sa používa bez chyby. Keď je spojený slabý nedefinovaný symbol a symbol nie je definovaný, hodnota slabého symbolu sa stane nula bez chyby.

W

Symbol je slabý symbol, ktorý nebol označený ako symbol slabého objektu. Ak je slabý definovaný symbol prepojený s normálnym definovaným symbolom, normálny definovaný symbol sa používa bez chyby. Keď je spojený slabý nedefinovaný symbol a symbol nie je definovaný, hodnota slabého symbolu sa stane nula bez chyby.

-

Symbol je symbol stroboskopov v súbore objektu a.out. V tomto prípade sú ďalšie hodnoty vytlačené ostatné polia, políčka zoradené dole a typ bodky. Symboly Stabs sa používajú na uloženie informácií o ladení.

?

Typ symbolu je neznámy alebo špecifický formát súboru objektov.

*

Názov symbolu.

MOŽNOSTI

Dlhé a krátke formy možností, ktoré sú tu uvedené ako alternatívy, sú ekvivalentné.

-A

-o

--print-file-name

Pred každým symbolom pred každým symbolom zadajte názov vstupného súboru (alebo člena archívu), v ktorom bol nájdený, namiesto identifikácie vstupného súboru iba raz.

-a

--debug-SYMS

Zobraziť všetky symboly, dokonca aj znaky, ktoré používajú len debugger; zvyčajne nie sú uvedené.

-B

Rovnako ako --format = bsd (pre kompatibilitu s MIPS nm ).

-C

--zobraziť [= štýl ]

Dekódovať ( demangle ) názvy symbolov na nízkej úrovni do mien na úrovni používateľov. Okrem odstránenia akéhokoľvek počiatočného podčiarknutia predpísaného systémom to umožňuje, aby názvy funkcií C ++ boli čitateľné. Rôzne kompilátory majú rôzne štýly manglingu. Voliteľný argument štýlu vykresľovania môžete použiť na výber vhodného štýlu prekladania pre kompilátora.

--no-demangle

Neodstraňujte názvy symbolov na nižšej úrovni. Toto je predvolené nastavenie.

-D

--dynamic

Zobrazte skôr dynamické symboly než bežné symboly. Je to dôležité iba pre dynamické objekty, ako sú určité typy zdieľaných knižníc.

-f formát

formát = formát

Použite výstupný formát, ktorý môže byť "bsd", "sysv" alebo "posix". Predvolená hodnota je "bsd". Iba prvý znak formátu je významný; môže to byť buď malé alebo malé.

-g

--extern-only

Zobrazovať iba externé symboly.

-l

--line-numbers

Pre každý symbol použite ladiace informácie, aby ste sa pokúsili nájsť názov súboru a číslo riadku. Pre definovaný symbol vyhľadajte číslo riadku adresy symbolu. Pri neurčitom symbole vyhľadajte číslo riadku položky premiestnenia, ktorá sa vzťahuje na symbol. Ak je možné nájsť informácie o číslach riadkov, vytlačte ich za ostatnými informáciami o symboloch.

-n

-v

--numeric-sort

Zoradiť symboly číselne podľa ich adries, nie podľa abecedy podľa ich mien.

-p

--no-sort

Nebojte sa triediť symboly v akomkoľvek poradí; vytlačte ich v poradí, v akom sa nachádzajú.

-P

--portability

Použite štandardný výstupný formát POSIX.2 namiesto predvoleného formátu. Rovnako ako -f posix .

-S

--print-size

Veľkosť tlače definovaných symbolov pre výstupný formát "bsd".

-s

--print-armap

Pri výbere symbolov od členov archívu zahrňte index: mapovanie (uložené v archíve ar alebo ranlib ), ktorých moduly obsahujú definície pre ktoré názvy.

-r

--reverse-sort

Obrátiť poradie triedenia (či už číselné alebo abecedné); nech príde posledný prvý.

--size-sort

Zoradiť symboly podľa veľkosti. Veľkosť sa vypočíta ako rozdiel medzi hodnotou symbolu a hodnotou symbolu s najbližšou vyššou hodnotou. Veľkosť symbolu sa vytlačí skôr ako hodnota.

-t radix

--radix = radix

Použite radix ako radix na tlačenie hodnôt symbolov. Musí to byť d pre desiatkové, o pre osmičkové alebo x pre hexadecimálne.

--target = bfdname

Zadajte formát objektového kódu iný ako predvolený formát systému.

-u

--undefined-only

Zobraziť iba nedefinované symboly (tie, ktoré sú externé pre každý objektový súbor).

--defined-only

Zobraziť iba definované symboly pre každý súbor objektov.

-V

--version

Zobraziť číslo verzie nm a výstup.

-X

Táto možnosť sa ignoruje z dôvodu kompatibility s verziou programu AIX vo formáte nm . Trvá jeden parameter, ktorý musí byť reťazec 32_64 . Predvolený režim AIX nm zodpovedá -X 32 , ktorý nie je podporovaný GNU nm .

--Pomoc

Zobraziť súhrn možností pre nm a výstup.

POZRI TIEŽ

ar (1), objdump (1), ranlib (1) a položky Info pre binutils .

Dôležité: Pomocou príkazu man ( % man ) môžete zistiť, ako sa príkaz používa vo vašom konkrétnom počítači.