Strip
strip - Ta bort symboltabeller och andra delar från objektfiler
Kommandot `strip` används för att ta bort symboltabeller och andra delar från objektfiler för att minska deras storlek.
Syntax
strip [ALTERNATIV] FIL...
Beskrivning
Kommandot `strip` tar bort symboltabeller, felsökningsinformation och andra delar från objektfiler. Detta kan minska filernas storlek och göra dem svårare att reversera eller felsöka.
Alternativ
Kommandot `strip` stöder flera alternativ som kan användas för att justera dess beteende:
- -I, --input-target=BFDNAME - Ange binärfilens inputformat.
- -O, --output-target=BFDNAME - Ange binärfilens outputformat.
- -F, --target=BFDNAME - Ange både input och output format.
- -p, --preserve-dates - Bevara datumstämplar.
- -R, --remove-section=NAME - Ta bort specificerad sektion.
- -s, --strip-all - Ta bort alla symboler.
- -g, --strip-debug - Ta bort endast felsökningssymboler.
- --strip-dwo - Ta bort DWARF-kompilerade enhetsobjekt (DWO) sektioner.
- -K, --keep-symbol=SYMBOL - Behåll endast specificerad symbol.
- -N, --strip-symbol=SYMBOL - Ta bort specificerad symbol.
- -w, --wildcard - Använd wildcard-mönster.
- -x, --discard-all - Kassera alla lokala symboler.
- -X, --discard-locals - Kassera temporära lokala symboler.
- --keep-file-symbols - Behåll filsymboler.
- --only-keep-debug - Behåll endast felsökningssymboler.
- --strip-unneeded - Ta bort symboler som inte behövs.
- --remove-relocations=SECTION - Ta bort relokeringar.
- --help - Visa hjälpmeddelande och avsluta.
- -v, --version - Visa versionsinformation och avsluta.
Exempel
Här är några praktiska exempel som visar hur du kan använda `strip`-kommandot:
- För att ta bort alla symboler från en objektfil:
strip -s fil.o
- För att ta bort endast felsökningssymboler:
strip -g fil.o
- För att ta bort en specifik sektion från en objektfil:
strip -R .comment fil.o
- För att kassera alla lokala symboler:
strip -x fil.o
Skillnader mellan macOS och Linux
Det finns några skillnader att tänka på när man använder `strip` på macOS jämfört med Linux:
Tillgänglighet: `strip`-kommandot är 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å `strip` ä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 `strip` på macOS:
- För att ta bort alla symboler från en objektfil:
strip -s fil.o
Exempel på att installera `strip` 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 `strip` 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 `strip`, kontrollera följande:
- Att du använder rätt syntax och alternativ för ditt specifika kommando.
- Att objektfilen du försöker behandla existerar och är tillgänglig.
- Att du har nödvändiga behörigheter för att ändra objektfilen.
Se även
- objdump - Visa detaljerad information om objektfiler.
- readelf - Visa information om ELF-format objektfiler.
- nm - Visa symboltabellen för objektfiler.