Skip to main content

Linux - Unix Command: nm

Introduction to Linux and Basic Linux Commands for Beginners (Kan 2024)

Introduction to Linux and Basic Linux Commands for Beginners (Kan 2024)
Anonim

nm - liste symboler fra objektfiler

SYNOPSIS

nm -en|--debug-syms -g|--extern kun -B -C|--demangle= stil -D|--dynamic -S|--print-størrelse -s|--print-armap -EN|-o|--print-fil-navn -n|-v|--numeric-sortering -p|--no-sortering -r|--reverse-sortering --size-sortering -u|--undefined kun -t radix |--radix = radix -P|--portability --target = bfdname -f format |--format = format --defined kun -l|--line-numre --no-demangle -V|--version -X 32_64 --Hjælp objfile …

BESKRIVELSE

GNUnm lister symbolerne fra objektfiler objfile …. Hvis ingen objektfiler er angivet som argumenter,nm antager filen a.out .

For hvert symbol,nm viser sig:

*

Symbolværdien, i radix valgt af muligheder (se nedenfor) eller hexadecimal som standard.

*

Symboltypen. I det mindste anvendes følgende typer; andre er også afhængigt af objektfilformatet. Hvis små bogstaver er symbolet lokalt; hvis store bogstaver er symbolet globalt (eksternt).

EN

Symbolets værdi er absolut og vil ikke blive ændret ved yderligere link.

B

Symbolet er i den uinitialiserede datafelt (kendt som BSS).

C

Symbolet er almindeligt. Fælles symboler er uninitialiserede data. Når der knyttes, kan der forekomme flere almindelige symboler med samme navn. Hvis symbolet er defineret overalt, behandles de fælles symboler som ikke definerede referencer.

D

Symbolet er i det initialiserede datafsnit.

G

Symbolet findes i en initialiseret datasektion for små genstande. Nogle objektfilformater tillader mere effektiv adgang til små dataobjekter, såsom en global int-variabel i modsætning til et stort globalt array.

jeg

Symbolet er en indirekte henvisning til et andet symbol. Dette er en GNUextension til a.out objektfilformatet, som sjældent bruges.

N

Symbolet er et fejlsymbol.

R

Symbolet er i en skrivebeskyttet data sektion.

S

Symbolet er i en uninitialiseret datasektion for små genstande.

T

Symbolet er i teksten (kode) sektionen.

U

Symbolet er udefineret.

V

Et symbol er en svag genstand. Når et svagt defineret symbol er forbundet med et normalt defineret symbol, anvendes det normale definerede symbol uden fejl. Når et svagt uafklaret symbol er forbundet, og symbolet ikke er defineret, bliver værdien af ​​det svage symbol nul uden fejl.

W

Symbolet er et svagt symbol, der ikke er specifikt mærket som et svagt objekt symbol. Når et svagt defineret symbol er forbundet med et normalt defineret symbol, anvendes det normale definerede symbol uden fejl. Når et svagt uafklaret symbol er forbundet, og symbolet ikke er defineret, bliver værdien af ​​det svage symbol nul uden fejl.

-

Symbolet er et stabs-symbol i en a.out objektfil. I dette tilfælde er de næste værdier, der udskrives, stabs andre felter, stabs desc feltet og stabstypen. Stabs-symboler bruges til at holde fejlsøgningsoplysninger.

?

Symboltypen er ukendt, eller objektfilformat specifikt.

*

Symbolnavnet.

MULIGHEDER

De lange og korte former for optioner, der vises her som alternativer, svarer til hinanden.

-EN

-o

--print-fil-navn

Forud hvert symbol ved navn på inputfilen (eller arkivmedlemmet), hvor den blev fundet, i stedet for at identificere inputfilen en gang før, før alle dens symboler.

-en

--debug-syms

Vis alle symboler, kun fejlfindings-symboler; normalt er disse ikke angivet.

-B

Det samme som--format = bsd (for kompatibilitet med MIPSnm).

-C

--demangle = stil

Dekode ( demangle ) Lavtstående symbolnavne i navne på brugernavn. Udover at fjerne enhver initial understregning, der udføres af systemet, gør dette C ++-funktionsnavne læsbare. Forskellige kompilatorer har forskellige manglende stilarter. Det valgfrie demangling stil argument kan bruges til at vælge en passende demangling stil til din compiler.

--no-demangle

Du må ikke dæmpe symboler på lavt niveau. Dette er standard.

-D

--dynamic

Vis de dynamiske symboler frem for de normale symboler. Dette er kun meningsfuldt for dynamiske objekter, som for eksempel bestemte typer af delte biblioteker.

-f format

--format = format

Brug outputformatet format , som kan være "bsd", "sysv" eller "posix". Standard er "bsd". Kun den første tegn på format er signifikant; det kan være enten øverste eller små bogstaver.

-g

--extern kun

Vis kun eksterne symboler.

-l

--line-numre

For hvert symbol skal du bruge fejlfindingsoplysninger til at forsøge at finde et filnavn og et linjenummer. For et defineret symbol skal du kigge efter linjenummeret på symbolets adresse. For et udefineret symbol skal du kigge efter linjenummeret for en flytningsindtastning, der henviser til symbolet. Hvis linjenummeroplysninger kan findes, skal du udskrive det efter de øvrige symboloplysninger.

-n

-v

--numeric-sortering

Sorter symboler numerisk ved deres adresser, snarere end alfabetisk ved deres navne.

-p

--no-sortering

Lad være med at sortere symbolerne i en hvilken som helst rækkefølge; udskrive dem i den ordnede rækkefølge.

-P

--portability

Brug POSIX.2 standard outputformat i stedet for standardformatet. Svarende til-f posix.

-S

--print-størrelse

Udskriftsstørrelse af definerede symboler for "bsd" output format.

-s

--print-armap

Når du noterer symboler fra arkivmedlemmer, skal du indeholde indekset: en kortlægning (gemt i arkivet afar ellerranlib) Hvilke moduler indeholder definitioner for hvilke navne.

-r

--reverse-sortering

Omvend rækkefølgen af ​​sorteringen (enten numerisk eller alfabetisk); lad den sidste komme først.

--size-sortering

Sorter symboler efter størrelse. Størrelsen beregnes som forskellen mellem symbolets værdi og værdien af ​​symbolet med den næste højere værdi. Størrelsen af ​​symbolet udskrives, snarere end værdien.

-t radix

--radix = radix

Brug radix som radix til udskrivning af symbolværdierne. Det må væred for decimal,o for oktal ellerx til hexadecimal.

--target = bfdname

Angiv et objektkodeformat andet end dit systems standardformat.

-u

--undefined kun

Vis kun udefinerede symboler (de eksterne til hver objektfil).

--defined kun

Vis kun definerede symboler for hver objektfil.

-V

--version

Vis versionsnummeret pånm og afslutte.

-X

Denne mulighed ignoreres for kompatibilitet med AIX-versionen afnm. Det kræver en parameter, som skal være strengen32_64. Standardtilstanden for AIXnm svarer til-X 32, som ikke understøttes af GNUnm.

--Hjælp

Vis et resumé af mulighederne tilnm og afslutte.

SE OGSÅ

ar (1), objdump (1), ranlib (1) og Info-indtastningerne for binutils .

Vigtig: Brug mand kommando ( % mand ) for at se, hvordan en kommando bruges på din computer.