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. Das folgende Beispiel soll Ihnen einen Eindruck über den von Debugging-Symbolen benötigten Speicher geben:
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 normalerweise zwischen 2 und 5.
Vermutlich werden Sie niemals einen Debugger mit Ihrer Systemsoftware einsetzen, daher können Sie durch das Entfernen der Symbole eine Menge Platz sparen. 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 der Anleitung unter http://www.linuxfromscratch.org/hints/downloads/files/optimization.txt.