Par défaut, la plupart des programmes et bibliothèques sont compilées
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 et variables.
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 Ko
un binaire bash sans les symboles de débogage : 480 Ko
Fichiers de Glibc et GCC (/lib
,
/lib32
, /lib64
, /usr/lib
, /usr/lib32
et /usr/lib64
) avec les symboles de
débogage : 87 Mo
Les fichiers de Glibc et GCC sans les symboles de débogage : 16 Mo
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.