Skip to main content

Linux - Unix Příkaz: nm

5.3: Logical Operators: AND, OR - Processing Tutorial (Smět 2024)

5.3: Logical Operators: AND, OR - Processing Tutorial (Smět 2024)
Anonim

nm - seznam symbolů z objektových souborů

SYNOPSE

nm -A|- bezobratlých -G|- pouze externí -B -C|- zaměření= styl -D|--dynamický -S|- velikost tisku -s|--print-armap -A||--print-file-name -n|-proti|- číselné řazení -p|--no-řazení -r|- zpětné řazení - velikost třídění -u|- pouze definované -t základ |- radix = základ -P|--přenosnost --target = bfdname -F formát |--format = formát - pouze definované -l|- čísla čísel --no-odizolování -PROTI|--verze -X 32_64 --Pomoc objfile …

POPIS

GNUnm uvádí symboly z objektových souborů objfile …. Pokud nejsou jako argumenty uvedeny žádné soubory objektů,nm přebírá soubor a.out .

Pro každý symbol,nm ukazuje:

*

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

- vyměnit = styl

Dekódovat ( demangle ) názvy symbolů nízké úrovně do názvů na úrovni uživatelů. 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át

--format = formát

Použijte výstupní formát formát , které mohou být "bsd", "sysv" nebo "posix". Výchozí hodnota je "bsd". Pouze první znak formát 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í-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 pomocíar neboranlib), jejichž moduly 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 základ

- radix = základ

Použití základ jako radix pro tisk hodnot symbolů. To musí býtd pro desítkové,Ó pro osmičkové neboX pro hexadecimální hodnotu.

--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 verzenm a výstupu.

-X

Tato možnost je ignorována z důvodu kompatibility s verzí AIX verzenm. Trvá jeden parametr, který musí být řetězec32_64. Výchozí režim služby AIXnm odpovídá-X 32, který není podporován GNUnm.

--Pomoc

Zobrazit souhrn možností knm a výstupu.

VIZ TAKÉ

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

Důležité: Použijte muž příkaz ( % muž ), abyste zjistili, jak je v daném počítači použit příkaz.