Readelf
readelf - Visa information om ELF-format objektfiler
Kommandot `readelf` används för att visa information om objektfiler i ELF-format (Executable and Linkable Format).
Syntax
readelf [ALTERNATIV] FIL...
Beskrivning
Kommandot `readelf` visar detaljerad information om ELF-format objektfiler, inklusive information om sektioner, segment, symboltabeller, och mer. Det är ett kraftfullt verktyg för utvecklare och systemadministratörer som behöver inspektera och analysera ELF-filer.
Alternativ
Kommandot `readelf` stöder flera alternativ som kan användas för att justera dess beteende:
- -a, --all - Visa alla möjliga informationskategorier.
- -h, --file-header - Visa ELF-filhuvudet.
- -l, --program-headers, --segments - Visa programhuvuden.
- -S, --section-headers, --sections - Visa sektionhuvuden.
- -e, --headers - Visa alla huvuden.
- -s, --syms, --symbols - Visa symboltabellen.
- -n, --notes - Visa informationsnoteringar.
- -r, --relocs - Visa relokeringstabellen.
- -u, --unwind - Visa unwind information för funktioner.
- -d, --dynamic - Visa dynamiska sektionen.
- -V, --version-info - Visa version information.
- -A, --arch-specific - Visa arkitektur-specifik information.
- -x, --hex-dump=NAME - Visa hexadecimalt innehåll för sektionen med namn NAME.
- -w[liaprmfFsoRtuk] or --debug-dump[=options] - Visa olika typer av felsökningsinformation.
- -p, --string-dump=NUM - Visa strängtabellen för sektionen NUM.
- -R, --relocated-dump=NUM - Visa relokerat innehåll för sektionen NUM.
- -c, --archive-index - Visa innehållet i arkivets symboltabell.
- -D, --use-dynamic - Visa dynamisk symboltabell.
- -z, --decompress - Dekomprimera sektioner före visning.
- --help - Visa hjälpmeddelande och avsluta.
- --version - Visa versionsinformation och avsluta.
Exempel
Här är några praktiska exempel som visar hur du kan använda `readelf`-kommandot:
- För att visa ELF-filhuvudet:
readelf -h fil.elf
- För att visa programhuvuden:
readelf -l fil.elf
- För att visa sektionhuvuden:
readelf -S fil.elf
- För att visa symboltabellen:
readelf -s fil.elf
- För att visa alla huvuden:
readelf -e fil.elf
- För att visa dynamiska sektionen:
readelf -d fil.elf
- För att visa hexadecimalt innehåll för en specifik sektion:
readelf -x .text fil.elf
Skillnader mellan macOS och Linux
Det finns några skillnader att tänka på när man använder `readelf` på macOS jämfört med Linux:
- **Tillgänglighet**: `readelf`-kommandot är generellt sett tillgängligt på de flesta Linux-distributioner som en del av GNU Binutils-paketet. På macOS kan `readelf` behöva installeras via Homebrew eftersom det inte är inkluderat som standard.
- **Format**: Eftersom macOS använder Mach-O som sitt standard binära format, kommer `readelf` inte att fungera på Mach-O-filer. `readelf` är specifikt utformat för att analysera ELF-filer, som är standard på Linux-system.
Exempel på att använda `readelf` på macOS:
- För att använda `readelf` på macOS måste du först installera det via Homebrew:
brew install binutils
Exempel på att använda `readelf` på Linux:
- För att visa ELF-filhuvudet:
readelf -h fil.elf
Det är alltid bra att konsultera `man`-sidan för `readelf` 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 `readelf`, 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 i ELF-format.
- Att du har nödvändiga behörigheter för att läsa objektfilen.
Se även
- objdump - Visa detaljerad information om objektfiler.
- nm - Visa symboltabellen för objektfiler.
- file - Bestäm filtyp.