%general-entities; ]> 关于调试符号 许多程序和库在默认情况下被编译为带有调试符号的二进制文件 (通过使用 gcc-g 选项)。 这意味着在调试这些带有调试信息的程序和库时, 调试器不仅能给出内存地址,还能给出子程序和变量的名称。 然而,插入这些调试符号会显著增大程序或库的体积。 下面是一些表现调试符号占用空间的例子: 一个有调试符号的 bash 二进制程序: 1200 KB 一个没有调试符号的 bash 二进制程序: 480 KB 带有调试符号的 Glibc 和 GCC 文件 (/lib/usr/lib 目录中): 87 MB 没有调试符号的 Glibc 和 GCC 文件:16 MB 以上文件大小的值可能随编译器和 C 运行库的版本而变化, 但在比较带调试符号和不带调试符号的程序时,它们文件大小的差距通常达到 2 至 5 倍。 由于大多数用户永远不会用调试器调试系统软件, 可以通过移除它们的调试符号,回收大量磁盘空间。 下一节展示如何从系统程序和库中移除所有调试符号。