Nm - příkaz Linux - příkaz Unix

nm - seznam symbolů z objektových souborů

SYNOPSE

nm [ -a | --debug-syms ] [ -g | - pouze externí ]
[ -B ] [ -C1 --demangle [= styl ]] [ -D | --dynamický ]
[ -S | --print-size ] [ -s | --print-armap ]
[ -A | -o | --print-file-name ]
[ -n | -v | --numerické uspořádání ] [ -p | --no-řazení ]
[ -r | --reverse-sort ] [ --size-sort ] [ -u | - pouze vymezené ]
[ -t radix | --radix = radix ] [ -P | --porozumitelnost ]
[ --target = bfdname ] [ -f formát | --format = formát ]
[ - jen definováno ] [ -l | - line-numbers ] [ --no-demangle ]
[ -V | --version ] [ -X 32_64 ] [ --help ] [ objfile ...]

POPIS

GNU nm uvádí seznam symbolů z objektových souborů objfile .... Pokud žádné soubory objektů nejsou uvedeny jako argumenty, nm předpokládá soubor a.out .

Pro každý symbol, nm zobrazuje:

* * *

Hodnota symbolu v poloměru zvoleném volbami (viz níže) nebo hexadecimálně ve výchozím nastavení.

* * *

Typ symbolu. Používají se přinejmenším tyto typy; jiné jsou také závislé na formátu souboru objektu. Je-li malá, symbol je lokální; pokud je velká, symbol je globální (externí).

A

Hodnota symbolu je absolutní a nebude se měnit dalším propojením.

B

Symbol je v neinicializované části dat (známé jako BSS).

C

Symbol je běžný. Společné symboly jsou neinicializované údaje. Při propojení se může zobrazit více společných symbolů se stejným názvem. Pokud je symbol definován kdekoli, jsou společné symboly považovány za nedefinované odkazy.

D

Symbol je v sekci inicializovaných dat.

G

Symbol je v inicializované části dat pro malé objekty. Některé formáty souborů objektů umožňují efektivnější přístup k malým datovým objektům, jako je globální int proměnná, na rozdíl od velkého globálního pole.

I

Symbol je nepřímý odkaz na jiný symbol. Toto je GNUextension k formátu souboru a.out object, který je zřídka používán.

N

Symbol je ladicí symbol.

R

Symbol je v sekci dat pouze pro čtení.

S

Symbol je v neinicializované části dat pro malé objekty.

T

Symbol je v části textu (kód).

U

Symbol je nedefinovaný.

PROTI

Symbol je slabý objekt. Pokud je slabý definovaný symbol spojen s normálním definovaným symbolem, používá se normálně definovaný symbol bez chyby. Pokud je spojen slabý nedefinovaný symbol a symbol není definován, hodnota slabého symbolu se stane nula bez chyby.

W

Symbol je slabý symbol, který nebyl speciálně označen jako symbol slabého objektu. Pokud je slabý definovaný symbol spojen s normálním definovaným symbolem, používá se normálně definovaný symbol bez chyby. Pokud je spojen slabý nedefinovaný symbol a symbol není definován, hodnota slabého symbolu se stane nula bez chyby.

-

Symbol je symbol ostrůvku v souboru objektu a.out. V tomto případě jsou dalšími vytištěnými hodnotami další políčka, políčka pro sestupné pole a typ bodce. Symboly Stabs slouží k uložení informací o ladění.

?

Typ symbolu není znám nebo specifický formát souboru objektů.

* * *

Název symbolu.

MOŽNOSTI

Dlouhé a krátké formy možností, které jsou zde uvedeny jako alternativy, jsou ekvivalentní.

-A

--print-file-name

Před každým symbolem předejte každý symbol názvem vstupního souboru (nebo člena archivu), ve kterém byl nalezen, spíše než identifikovat vstupní soubor jednou.

-A

- bezobratlých

Zobrazit všechny symboly, dokonce i symboly pouze pro debugger; obvykle nejsou uvedeny.

-B

Stejné jako --format = bsd (pro kompatibilitu s MIPS nm ).

-C

--demangle [= style ]

Dekódování ( demangle ) nízkoúrovňových názvů symbolů do uživatelských názvů. Kromě odstranění jakéhokoli počátečního podtržítka, který předepisuje systém, jsou názvy funkcí C ++ čitelné. Různí kompilátoři mají různé styly. Volitelný argument stylu vyměnitelnosti lze použít pro výběr vhodného stylu vyměnitelnosti pro kompilátor.

--no-odizolování

Neodstraňujte názvy symbolů na nízké úrovni. Toto je výchozí nastavení.

-D

--dynamický

Zobrazte spíše dynamické symboly než běžné symboly. To má smysl pouze pro dynamické objekty, jako jsou některé typy sdílených knihoven.

-f formátu

formát = formát

Použijte formát výstupního formátu, který může být "bsd", "sysv" nebo "posix". Výchozí hodnota je "bsd". Pouze první znak formátu je významný; může to být buď velká nebo malá písmena.

-G

- pouze externí

Zobrazit pouze externí symboly.

-l

- čísla čísel

U každého symbolu použijte informace o ladění k pokusu o nalezení názvu souboru a čísla řádku. Pro definovaný symbol vyhledejte číslo řádku adresy symbolu. U nedefinovaného symbolu vyhledejte číslo řádku položky přemístění, které odkazuje na symbol. Pokud lze nalézt informace o čísle řádku, vytiskněte jej za další informace o symbolu.

-n

-proti

- číselné řazení

Symboly třídějte číselně podle jejich adres, nikoliv abecedně podle jejich jména.

-p

--no-řazení

Nebojte se třídit symboly v libovolném pořadí; vytiskněte je v pořadí, které se vyskytlo.

-P

--přenosnost

Použijte standardní výstupní formát POSIX.2 namísto výchozího formátu. Ekvivalentní k -f posix .

-S

- velikost tisku

Velikost výtisku definovaných symbolů pro výstupní formát "bsd".

-s

--print-armap

Při výpisu symbolů z archivních členů uveďte index: mapování (uložené v archivu ar nebo ranlib ), které obsahují definice pro jména.

-r

- zpětné řazení

Obrátit pořadí řazení (číselné nebo abecední); Nechť poslední přijde první.

- velikost třídění

Třídit symboly podle velikosti. Velikost se vypočítá jako rozdíl mezi hodnotou symbolu a hodnotou symbolu s nejbližší vyšší hodnotou. Velikost symbolu je vytištěna spíše než hodnota.

-t radix

--radix = radix

Použijte radix jako radix pro tisk hodnot symbolů. Musí být d pro desítkové, o pro osmičkové nebo x pro hexadecimální.

--target = bfdname

Zadejte formát jiného objektu, než je výchozí formát systému.

-u

- pouze definované

Zobrazit pouze nedefinované symboly (ty, které jsou externí pro každý objektový soubor).

- pouze definované

Zobrazit pouze definované symboly pro každý soubor objektu.

-PROTI

--verze

Zobrazit číslo verze a výstup.

-X

Tato možnost je ignorována z důvodu kompatibility s verzí AIX verze nm . Trvá jeden parametr, který musí být řetězec 32_64 . Výchozí režim AIX nm odpovídá -X 32 , který není podporován GNU nm .

--Pomoc

Zobrazte souhrn možností pro měření nm a výstupu.

VIZ TAKÉ

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

Důležité: Použijte příkaz man ( % man ), abyste zjistili, jaký příkaz se používá v konkrétním počítači.