《LinuxFromScratch》第三部分:構建LFS系統第六章:安裝基本的系統軟體-6.70.關於除錯符號

行者武松發表於2017-11-08

         預設情況下大多數程式和庫的編譯帶有除錯符號。(類似 gcc-g 選項。)這意味著當你除錯一個包含除錯資訊的已編譯的程式或庫時,除錯程式不僅能提供記憶體地址,還能提供變數和例項的名字。

然而,包含這些除錯符號明顯的增大了程式或庫。下面這個例子說明了這些符號有多麼佔地方:

  • 一個有除錯符號的二進位制 bash
    : 1200 KB

  • 一個無除錯符號的二進位制 bash
    : 480 KB

  • 有除錯符號的 Glibc 和 GCC 檔案 (/lib
    /usr/lib):
    87 MB

  • 無除錯符號的 Glibc 和 GCC 檔案: 16 MB

大小可能會因為所使用的編譯器和 C 語言庫的不同而改變,但是當比較有無除錯符號的程式時,大小可能相差 2 到 5 倍。

因為大多數使用者從來不會在他們的系統軟體上使用偵錯程式,沒了這些除錯符號可以省下很多磁碟空間。下一頁將會告訴你如何剝離程式和庫中所有的除錯符號。


相關文章