Die meisten Programme und Bibliotheken werden in der Voreinstellung mit Debugging-Symbolen kompiliert (mit der Option gcc -g). Wenn Sie ein Programm oder eine Bibliothek debuggen, die mit debugging Symbolen kompiliert wurde, kann Ihnen der Debugger nicht nur die Speicheradressen, sondern auch die Namen der Funktionen und der Variablen im Programm anzeigen.
Doch das Einbinden dieser debugging Symbole vergrößert das Programm bzw. die Bibliothek deutlich. Um einen Eindruck über den von Debugging-Symbolen belegten Speicher zu bekommen, schauen Sie sich dies an:
Eine Bash-Binärdatei mit Debugging-Symbolen: 1200 KB
Eine Bash-Binärdatei ohne Debugging-Symbole: 480 KB
Glibc und GCC-Dateien (/lib und /usr/lib) mit Debugging-Symbolen: 87 MB
Glibc und GCC-Dateien ohne Debugging-Symbole: 16 MB
Die Größen variieren ein wenig, abhängig vom Compiler und der eingesetzten C-Bibliothek. Aber wenn man Programme mit und ohne Debugging-Symbole vergleicht, liegt der Faktor im Regelfall zwischen 2 und 5.
Da die meisten Leute vermutlich niemals einen Debugger mit ihrer Systemsoftware einsetzen, kann hier durch das Entfernen der Debugging-Symbole eine Menge Platz gespart werden. Der Einfachheit halber finden Sie im nächsten Kapitel ein Kommando, mit dem Sie alle debugging Symbole von allen Programmen und Bibliotheken auf Ihrem System entfernen können. Weitere Informationen zum Thema Optimierung finden Sie in einer Anleitung unter http://www.linuxfromscratch.org/hints/downloads/files/optimization.txt.