2009-09-11 5 views

Odpowiedz

25

Z (Mac OS X, ale inne są podobne) man page:

strip usuwa lub modyfikuje tabelę symboli dołączony do wyjścia redaktor asemblera i łącza. Jest to użyteczne, aby zaoszczędzić miejsce po debugowaniu programu i ograniczyć dynamicznie powiązane symbole.

Uwaga bit about „po program został debugowany”, ponieważ debugowanie uproszczoną wykonywalny jest bardzo ciężko, naprawdę. "Ograniczenie dynamicznie związanych symboli" jest rzadszym zastosowaniem: pozwala na niedostępność niektórych funkcji w bibliotece zewnętrznej poprzez usunięcie pozycji indeksu określających, gdzie znajduje się rzeczywisty kod. Jest to również wyjaśnione na stronie podręcznika.

Tańsze i obfite, ponieważ dysk jest w większości sytuacji, po prostu już byś się tym nie przejmował. Ale możesz go potrzebować w przypadku ograniczonej przestrzeni, takiej jak osadzone urządzenia, dyski ratunkowe itp.

+21

Tak długo, jak przechowujesz niezajętą ​​kopię pliku wykonywalnego, możesz dowolnie wysyłać swoją obnażoną wersję i debugować w wersji niezaszyfrowanej, gdy zajdzie taka potrzeba. . Jest to typowe w przypadku projektów wbudowanych, na przykład: jeśli plik core (od klienta z usuniętym plikiem binarnym) przychodzi z pola, można załadować plik binarny z rozszerzeniem do gdb, a następnie otworzyć plik core i mieć pełną symboliczną debugability. –

+18

Podczas gdy miejsce na dysku twardym jest tanie, wydajność dysku nie jest. Im mniejsze pliki binarne, tym mniej dyskowych operacji we/wy należy wykonać podczas ładowania aplikacji/biblioteki. –

+3

Będę to drugi. Fat programy przenoszą mój poważnie potężny komputer do opłakanego kraulu. Programiści! Małe jest piękne! Pamiętaj, kolejną przyczyną powolnego ładowania jest fragmentacja bibliotek. Są pofragmentowane, aby uczynić je drobniejszymi ziarnami i uniknąć - ha ha - niepotrzebnego ładowania. Ma to mniejsze znaczenie w erze SSD typu fast-random-access. – spraff

7

Usuwa informacje o symbolach z pliku binarnego. Plik binarny zawiera pewne informacje, które odwzorowują symbole (na przykład nazwy funkcji) na określone lokalizacje. strip usuwa te.

4

W swojej domyślnej operacji, polecenie Pasek usuwa tablicę symboli i Wszelkie informacje debugowania z wykonywalnego.

From here