Nm - Komanda Linux - Komanda Unix

nm - shënoni simbole nga skedarët e objekteve

PËRMBLEDHJE

nm [ -a] --debug-syms ] [ -g | - vetëm jashtë ]
[ -B ] [ -C | --demangle [= stili ]] [ -D | --dynamic ]
[ -S | --print-size ] [ -s | --print-armap ]
[ -A | -o | - print-file-name ]
[ -n | -v | --numerik-lloj ] [ -p | --jo-lloj ]
[ -r | --të kundërtën ] [ --size-sort ] [ -u | - vetëm të përcaktuar ]
[ -t radix | --radix = radix ] [ -P | --portueshmëria ]
[ --target = bfdname ] [ -f format | --format = format ]
[ --definuar vetëm ] [ -l | --line-numra ] [ --no-demangle ]
[ -V | --version ] [ -X 32_64 ] [- ndihmë ] [ objfile ...]

PËRSHKRIM

GNU nm liston simbolet nga skedarët e objekteve objfile .... Nëse asnjë skedar objektesh nuk është shënuar si argumente, nm merr skedarin a.out .

Për çdo simbol, nm tregon:

*

Vlera e simbolit, në radix zgjedhur nga opsionet (shih më poshtë), ose heksadecimalisht nga default.

*

Tipi i simboleve. Të paktën përdoren llojet e mëposhtme; të tjerët janë, gjithashtu, varësisht nga formati i skedarit të objektit. Nëse është i vogël, simboli është lokal; nëse është i madh, simboli është global (i jashtëm).

A

Vlera e simbolit është absolute dhe nuk do të ndryshohet me lidhjen e mëtejshme.

B

Simboli është në seksionin e të dhënave të parinalizuara (i njohur si BSS).

C

Simboli është i zakonshëm. Simbolet e përbashkëta janë të dhëna të paravendosura. Kur lidhni, mund të shfaqen simbole të shumta të përbashkëta me të njëjtin emër. Nëse simboli është përcaktuar kudo, simbolet e zakonshme trajtohen si referenca të padefinuara.

D

Simboli është në seksionin e të dhënave të inicializuara.

G

Simboli është në një seksion të të dhënave të inicializuara për objekte të vogla. Disa skedarë të objekteve të skedarit lejojnë qasje më efikase në objekte të vogla të të dhënave, të tilla si një ndryshore globale e int, në krahasim me një grup global të madh.

unë

Simboli është një referim i tërthortë ndaj një simboli tjetër. Ky është një GNUextension në formatin e skedarit të objektit a.out i cili përdoret rrallë.

N

Simboli është një simbol debugging.

R

Simboli është në një seksion të të dhënave vetëm për lexim.

S

Simboli është në një seksion të të dhënave të paristuar për objekte të vogla.

T

Simboli është në seksionin e tekstit (kod).

U

Simboli është i padefinuar.

V

Një simbol është një objekt i dobët. Kur një simbol i përcaktuar i dobët është i lidhur me një simbol të përcaktuar normal, simboli i përcaktuar normal përdoret pa gabime. Kur një simbol i dobët i pacaktuar është i lidhur dhe simboli nuk është përcaktuar, vlera e simbolit të dobët bëhet zero pa asnjë gabim.

W

Simboli është një simbol i dobët që nuk është shënuar në mënyrë specifike si një simbol i dobët i objektit. Kur një simbol i përcaktuar i dobët është i lidhur me një simbol të përcaktuar normal, simboli i përcaktuar normal përdoret pa gabime. Kur një simbol i dobët i pacaktuar është i lidhur dhe simboli nuk është përcaktuar, vlera e simbolit të dobët bëhet zero pa asnjë gabim.

-

Simboli është një simbol i shtyllave në një skedar objekti a.out. Në këtë rast, vlerat e ardhshme të shtypura janë fushat e tjera të goditjeve, fusha e goditjes së goditjeve dhe lloji i goditjes. Simbolet Stabs përdoren për të mbajtur informacionet e debugging.

?

Lloji i simbolit është i panjohur, ose formati i objektit të caktuar.

*

Emri i simbolit.

OPSIONE

Format e gjata dhe të shkurtra të opsioneve, të paraqitura këtu si alternativa, janë ekuivalente.

-A

-o

--print-file-name

Paraqitni secilin simbol me emrin e skedarit të hyrjes (ose anëtarit arkivor) në të cilin është gjetur, në vend që të identifikoje skedarin e futjes vetëm një herë, përpara të gjitha simboleve të tij.

-a

--debug-Syms

Shfaqni të gjitha simbolet, madje simbolet e vetëm debugger; normalisht këto nuk janë të listuara.

-B

E njëjta gjë si --format = bsd (për pajtueshmërinë me MIPS nm ).

-C

--demangle [= style ]

Dekodoni emrat e simboleve të nivelit të ulët në emrat e nivelit të përdoruesit. Përveç heqjes së nënvizimeve fillestare të parapëlqyera nga sistemi, kjo i bën emrat e funksioneve të C ++ të lexueshme. Përpunuesit e ndryshëm kanë stile të ndryshme. Argumenti opsional i demangling style mund të përdoret për të zgjedhur një stil të duhur demangling për përpiluesin tuaj.

--no-demangle

Mos prishni emra simbolesh të nivelit të ulët. Ky është parazgjedhja.

-D

--dynamic

Shfaqni simbolet dinamike dhe jo simbolet normale. Kjo është vetëm kuptimplote për objekte dinamike, të tilla si lloje të caktuara të bibliotekave të përbashkëta.

-f format

- format = format

Përdor formatin e formatit të prodhimit, i cili mund të jetë "bsd", "sysv" ose "posix". Parazgjedhja është "bsd". Vetëm karakteri i parë i formatit është i rëndësishëm; ajo mund të jetë ose e sipërme ose e ulët.

-G

--extern-vetëm

Shfaq vetëm simbole të jashtme.

-l

--line-numrat

Për çdo simbol, përdorni informacionin e debugging për të gjetur emrin e skedarit dhe numrin e linjës. Për një simbol të përcaktuar, shikoni numrin e linjës së adresës së simbolit. Për një simbol të papërcaktuar, shikoni numrin e linjës së një zhvendosjeje që i referohet simbolit. Nëse mund të gjendet informacioni i numrit të linjës, shtypni atë pas informacionit të simbolit tjetër.

-N

-V

--numeric-lloj

Simbolizon numrat numerikisht nga adresat e tyre, në vend se në mënyrë alfabetike me emrat e tyre.

-p

--no-lloj

Mos u mërzitni për të renditur simbolet në asnjë mënyrë; printoni ato në rendin e hasur.

-P

--portability

Përdorni formatin e prodhimit standard POSIX.2 në vend të formatit të paracaktuar. Ekuivalent me -f posix .

-S

--print madhësi

Madhësia e shtypur e simboleve të përcaktuara për formatin e prodhimit "bsd".

-s

--print-armap

Kur vendosni simbole nga anëtarët e arkivit, përfshini indeksin: një hartë (e ruajtur në arkiv nga ar ose ranlib ) të cilat modulet përmbajnë përkufizime për të cilat emrat.

-r

--reverse-lloj

Kthejeni rendin e llojit (qoftë numerik ose alfabetik); le të vijë e para për herë të parë.

--size-lloj

Rendit simbolet sipas madhësisë. Madhësia llogaritet si diferenca midis vlerës së simbolit dhe vlerës së simbolit me vlerën e ardhshme më të lartë. Madhësia e simbolit shtypet, në vend se vlera.

-t radix

--radix = radix

Përdorni radix si radix për shtypjen e vlerave të simboleve. Duhet të jetë d për decimal, o për okral, ose x për heksadecimal.

--target = bfdname

Specifikoni një format të kodit të objektit ndryshe nga formati i paracaktuar i sistemit tuaj.

-u

--undefined-vetëm

Shfaq vetëm simbole të padefinuara (ato të jashtme për çdo skedar objekti).

--defined-vetëm

Shfaq vetëm simbole të përcaktuara për çdo skedar objekti.

-V

--version

Tregoni numrin e versionit të nm dhe daljes.

-X

Ky opsion injorohet për pajtueshmërinë me versionin AIX të nm . Duhet një parametër që duhet të jetë vargu 32_64 . Modaliteti i parazgjedhur i AIX nm korrespondon me -X 32 , i cili nuk mbështetet nga GNU nm .

--ndihmë

Trego një përmbledhje të opsioneve për nm dhe dalje.

SHIKO GJITHASHTU

ar (1), objdump (1), ranlib (1), dhe shënimet e Info për binutils .

E rëndësishme: Përdorni komandën e njeriut ( % man ) për të parë se si përdoret një komandë në kompjuterin tuaj të veçantë.