2009-09-11 15 views

回答

25

從(Mac OS X的,但其它的類似)man page

條刪除或修改連接到的 彙編器和鏈接編輯器的輸出符號表。在調試程序之後節省空間並限制動態綁定符號非常有用。

注意對位「後,程序已經調試」,因爲調試剝離可執行文件是非常辛苦,確實如此。 「極限動態綁定符號」是一種罕見的用法:它可以讓您通過取走指示實際代碼所在位置的索引條目來使外部庫中的某些功能無法訪問。這也在手冊頁中解釋。

由於便宜和豐富的磁盤是在大多數情況下,你根本不會再打擾了。但是您可能希望它適用於嵌入式設備,救援磁盤等空間受限的情況。

+21

只要您保留可執行文件的副本,您可以隨時隨地發運剝離版本並在需要時針對未剝離版本進行調試。這在嵌入式開發中很常見,例如:如果核心文件(來自運行剝離二進制文件的客戶)從字段中進來,則可以將未提取的二進制文件加載到gdb中,然後打開核心文件並具有完全的符號可調試性。 – 2009-09-11 22:30:22

+18

雖然硬盤空間很便宜,但是磁盤性能並非如此。二進制文件越小,加載應用程序/庫時必須執行的磁盤I/O就越少。 – 2009-10-01 20:38:15

+3

我會再來。胖程序將我強大的計算機帶給可悲的抓取。程序員!小是美麗的!請注意,加載速度緩慢的另一個原因是支離破碎的庫。他們是分散的,使他們更細粒,避免 - 哈哈 - 不必要的加載。在快速隨機訪問SSD時代,這一點並不重要。 – spraff 2011-08-01 15:47:33

7

它從二進制文件中去除符號信息。該二進制文件包含一些將符號(例如函數名稱)映射到特定位置的信息。 strip刪除那些。

4

在默認操作,帶材 命令刪除符號表並 從 可執行任何調試信息。

From here