Skip to main content

Linux - Unix Command: nm

How to Use Which Command in Linux Terminal | Basic Linux Commands | Which Command in Linux (Kan 2024)

How to Use Which Command in Linux Terminal | Basic Linux Commands | Which Command in Linux (Kan 2024)
Anonim

nm - liste symboler fra objektfiler

SYNOPSIS

nm -en|--debug-Syms -g|--extern-only -B -C|--demangle= stil -D|--dynamic -S|--print-størrelse -s|--print-armap -EN|-o|--print-fil-navn -n|-V|--numeric-sort -p|no-sort -r|--reverse-sort --size-sort -u|--undefined-only -t radix |--radix = radix -P|--portability Target = bfdname -f format |--format = format --defined-only l|--line-nummer no-demangle -V|--versjon -X 32_64 --hjelp objfile …

BESKRIVELSE

GNUnm Viser symbolene fra objektfiler objfile …. Hvis ingen objektfiler er oppført som argumenter,nm antar filen a.out .

For hvert symbol,nm viser:

*

Symbolverdien, i radix valgt av alternativer (se nedenfor), eller heksadesimale som standard.

*

Symboltypen. I det minste brukes følgende typer; andre er også, avhengig av objektfilformatet. Hvis små bokstaver er symbolet lokalt; hvis store bokstaver er symbolet globalt (eksternt).

EN

Symbolets verdi er absolutt, og vil ikke bli endret ved viderekobling.

B

Symbolet er i den uinitialiserte dataseksjonen (kjent som BSS).

C

Symbolet er vanlig. Vanlige symboler er ikke-initialiserte data. Når du knytter sammen, kan flere vanlige symboler vises med samme navn. Hvis symbolet er definert hvor som helst, blir de vanlige symbolene behandlet som udefinerte referanser.

D

Symbolet er i den initialiserte dataseksjonen.

G

Symbolet er i en initialisert dataseksjon for små gjenstander. Noen objektfilformater tillater mer effektiv tilgang til små dataobjekter, for eksempel en global int-variabel i motsetning til et stort globalt utvalg.

Jeg

Symbolet er en indirekte referanse til et annet symbol. Dette er en GNUextension til a.out objektfilformatet som sjelden brukes.

N

Symbolet er et feilsøkingsymbol.

R

Symbolet er i en skrivebeskyttet dataseksjon.

S

Symbolet er i en uninitialisert dataseksjon for små gjenstander.

T

Symbolet er i tekstkoden (kode).

U

Symbolet er udefinert.

V

Et symbol er en svak gjenstand. Når et svakt definert symbol er koblet til et normalt definert symbol, brukes det normale definerte symbolet uten feil. Når et svakt udefinert symbol er koblet og symbolet ikke er definert, blir verdien av det svake symbolet null uten feil.

W

Symbolet er et svakt symbol som ikke er spesifikt merket som et svakt objektsymbol. Når et svakt definert symbol er koblet til et normalt definert symbol, brukes det normale definerte symbolet uten feil. Når et svakt udefinert symbol er koblet og symbolet ikke er definert, blir verdien av det svake symbolet null uten feil.

-

Symbolet er et stabs-symbol i en a.out objektfil. I dette tilfellet er de neste verdiene som skrives ut, stabs andre felt, stabs desc feltet og stab type. Stabs-symboler brukes til å holde feilsøkingsinformasjon.

?

Symboltypen er ukjent, eller objektfilformat spesifikt.

*

Symbolnavnet.

ALTERNATIVER

De lange og korte alternativene, vist her som alternativer, er likeverdige.

-EN

-o

--print-fil-navn

Forhånd hvert symbol ved navn på inngangsfilen (eller arkivmedlemmet) der den ble funnet, i stedet for å identifisere innsendingsfilen en gang bare, før alle dens symboler.

-en

--debug-Syms

Vis alle symboler, bare dekoder-eneste symboler; Normalt er disse ikke listet opp.

-B

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

-C

--demangle = stil

Dekode ( demangle ) lavnivåsymbolnavn til brukernavn. I tillegg til å fjerne noen initial understreking prepended av systemet, gjør dette C ++-funksjonen navnene lesbare. Ulike kompilatorer har forskjellige manglende stiler. Den valgfrie demangling stil argumentet kan brukes til å velge en passende demangling stil for kompilatoren.

no-demangle

Ikke demangle symboler med lavt nivå. Dette er standard.

-D

--dynamic

Vis de dynamiske symbolene i stedet for de vanlige symbolene. Dette er bare meningsfullt for dynamiske objekter, for eksempel bestemte typer delte biblioteker.

-f format

--format = format

Bruk utdataformatet format , som kan være "bsd", "sysv" eller "posix". Standard er "bsd". Bare det første tegnet av format er betydelig; det kan være enten øvre eller små bokstaver.

-g

--extern-only

Vis bare eksterne symboler.

l

--line-nummer

For hvert symbol bruker du feilsøkingsinformasjon for å prøve å finne et filnavn og et linjenummer. For et definert symbol, se etter linjenummeret til adressen til symbolet. For et udefinert symbol, se etter linjenummeret til en flyttingsinngang som refererer til symbolet. Hvis linjenummerinformasjonen kan bli funnet, skriv den ut etter den andre symbolinformasjonen.

-n

-V

--numeric-sort

Sorter symboler numerisk etter adressene deres, i stedet for alfabetisk etter navnene sine.

-p

no-sort

Ikke bry deg om å sortere symbolene i noen rekkefølge; skriv ut dem i den rekkefølge som oppstår.

-P

--portability

Bruk POSIX.2-standardutdataformatet i stedet for standardformatet. Tilsvarende-f posix.

-S

--print-størrelse

Utskriftsstørrelse av definerte symboler for "bsd" utgangsformat.

-s

--print-armap

Når du oppfører symboler fra arkivmedlemmer, inkluderer du indeksen: en kartlegging (lagret i arkivet avar ellerranlib) Hvilke moduler inneholder definisjoner for hvilke navn.

-r

--reverse-sort

Omvendt rekkefølgen av sorteringen (enten numerisk eller alfabetisk); la den siste komme først.

--size-sort

Sorter symboler etter størrelse. Størrelsen beregnes som forskjellen mellom verdien av symbolet og verdien av symbolet med neste høyere verdi. Størrelsen på symbolet skrives ut, i stedet for verdien.

-t radix

--radix = radix

Bruk radix som radix for å skrive ut symbolverdiene. Det må væred for desimal,o for oktal, ellerx for heksadesimale

Target = bfdname

Angi et objektkodeformat annet enn systemets standardformat.

-u

--undefined-only

Vis bare udefinerte symboler (de som er eksterne for hver objektfil).

--defined-only

Vis bare definerte symboler for hver objektfil.

-V

--versjon

Vis versionsnummeret tilnm og avslutte.

-X

Dette alternativet ignoreres for kompatibilitet med AIX-versjonen avnm. Det tar en parameter som må være strengen32_64. Standardmodus for AIXnm tilsvarer-X 32, som ikke støttes av GNUnm.

--hjelp

Vis et sammendrag av alternativene tilnm og avslutte.

SE OGSÅ

ar (1), objdump (1), ranlib (1), og Info-oppføringene for binutils .

Viktig: Bruke Mann kommando ( % Mann ) for å se hvordan en kommando brukes på din datamaskin.