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.