Par défaut, la plupart des programmes et des bibliothèques sont
compilés en incluant les symboles de débogage (avec l'option
-g
de gcc). Ceci signifie que, lors du
débogage d'un programme ou d'une bibliothèque compilé avec les
informations de débogage, le débogueur peut vous donner non seulement
les adresses mémoire mais aussi les noms des routines.
Néanmoins, l'intégration de ces symboles de débogage font grossir le programme ou la bibliothèque de façon significative. Ce qui suit est un exemple de l'espace occupé par ces symboles :
Un binaire bash avec les symboles de débogage : 1200 Kio
un binaire bash sans les symboles de débogage : 480 Kio
Les fichiers de Glibc et GCC (/lib
et /usr/lib
) avec les symboles de
débogage : 87 Mio
Les fichiers de Glibc et GCC sans les symboles de débogage : 16 Mio
Les tailles peuvent varier suivant le compilateur et la bibliothèque C utilisés, mais lors d'une comparaison de programmes avec et sans symboles de débogages, la différence sera généralement d'un facteur de deux à cinq.
Comme la plupart des gens n'utiliseront jamais un débogueur sur leur système, beaucoup d'espace disque peut être gagné en supprimant ces symboles. La prochaine section montre comment supprimer tous les symboles de débogage des programmes et bibliothèques.