Nm: Skillnad mellan sidversioner
Admin (diskussion | bidrag) (→Källor) |
Admin (diskussion | bidrag) (→Källor) |
||
Rad 108: | Rad 108: | ||
* [https://www.gnu.org/software/binutils/manual/html_node/nm.html GNU Binutils manual - nm] | * [https://www.gnu.org/software/binutils/manual/html_node/nm.html GNU Binutils manual - nm] | ||
= Sidslut = | |||
<hr> | |||
Det här är en maskinöversättning av linux kommando manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på | |||
https://www.linux.se/kontaka-linux-se/ | |||
<BR><BR>Tack till [https://datorhjalp.se Datorhjälp] som har sponsrat Linux.se med webserver. | |||
[[Kategori:Linuxkommandon]] | [[Kategori:Linuxkommandon]] |
Nuvarande version från 25 augusti 2024 kl. 14.31
nm - Visa symboltabellen för objektfiler
Kommandot `nm` används för att visa symboltabellen för objektfiler, vilket är användbart för att inspektera innehållet i binära filer.
Syntax
nm [ALTERNATIV] [FIL]...
Beskrivning
Kommandot `nm` listar symbolerna från objektfiler. En symboltabell innehåller information om funktioner och variabler i en binär fil, såsom deras namn, adresser och typer.
Alternativ
Kommandot `nm` stöder flera alternativ som kan användas för att justera dess beteende:
- -a, --debug-syms - Visa alla symboler, inklusive debugger symboler.
- -A, --print-file-name - Visa filnamnet för varje symbol.
- -B - Samma som --format=bsd.
- -C, --demangle - Demangla namn för att visa läsbara C++ symboler.
- -D, --dynamic - Visa endast dynamiska symboler.
- -f, --format=FORMAT - Ange visningsformatet (bsd, sysv, posix).
- -g, --extern-only - Visa endast externa symboler.
- -j, --just-symbol-name - Visa endast symbolnamnet.
- -l, --line-numbers - Visa radnummer för symboler.
- -n, --numeric-sort - Sortera symbolerna numeriskt efter deras adresser.
- -o - Visa symbolernas adresser i oktalt format.
- -p, --no-sort - Sortera inte symbolerna.
- -P, --portability - Samma som --format=posix.
- -r, --reverse-sort - Sortera symbolerna i omvänd ordning.
- -S - Visa symbolernas storlek.
- -s, --print-armap - Visa arkivindex.
- -t, --radix=NUMBER - Använd NUMBER-bassystem (8, 10, 16) för att visa symboladresser.
- -u, --undefined-only - Visa endast odefinierade symboler.
- -U, --defined-only - Visa endast definierade symboler.
- -V, --version - Visa versionsinformation och avsluta.
- -X 32_64 - Använd både 32-bitars och 64-bitars symboler.
- --help - Visa hjälpmeddelande och avsluta.
Exempel
Här är några praktiska exempel som visar hur du kan använda `nm`-kommandot:
- För att visa alla symboler i en objektfil:
nm fil.o
- För att visa alla symboler, inklusive debugger symboler:
nm -a fil.o
- För att visa symbolernas adresser i oktalt format:
nm -o fil.o
- För att visa endast externa symboler:
nm -g fil.o
- För att demangla C++ symboler:
nm -C fil.o
- För att visa radnummer för symboler:
nm -l fil.o
- För att sortera symbolerna numeriskt efter deras adresser:
nm -n fil.o
Skillnader mellan macOS och Linux
Det finns några skillnader att tänka på när man använder `nm` på macOS jämfört med Linux:
- Tillgänglighet: `nm`-kommandot är generellt sett tillgängligt på både macOS och Linux som en del av GNU Binutils-paketet på Linux och som en del av Xcode Developer Tools på macOS.
- Alternativ: De flesta alternativ som finns på `nm` är tillgängliga på både macOS och Linux, men det rekommenderas att konsultera `man`-sidan på respektive plattform för att bekräfta tillgängliga alternativ och eventuella skillnader.
Exempel på att använda `nm` på macOS:
- För att visa alla symboler i en objektfil:
nm fil.o
Exempel på att installera `nm` på macOS med Xcode Developer Tools:
- Installera Xcode Developer Tools om det inte redan är installerat:
xcode-select --install
Det är alltid bra att konsultera `man`-sidan för `nm` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.
Felsökning
Om du får ett felmeddelande när du använder `nm`, kontrollera följande:
- Att du använder rätt syntax och alternativ för ditt specifika kommando.
- Att objektfilen du försöker visa existerar och är tillgänglig.
- Att du har nödvändiga behörigheter för att läsa objektfilen.
Se även
- objdump - Visa detaljerad information om objektfiler.
- readelf - Visa information om ELF-format objektfiler.
- strip - Ta bort symboltabeller och andra delar från objektfiler.
Källor
Sidslut
Det här är en maskinöversättning av linux kommando manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webserver.