La plupart des programmes et des bibliothèques sont compilés, par
défaut, 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ée 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 Ko
Un binaire bash sans les symboles de débogage : 480 Ko
Les fichiers Glibc et GCC (/lib
et /usr/lib
) avec les symboles de
débogage : 87 Mo
Les fichiers Glibc et GCC sans les symboles de débogage : 16 Mo
Les tailles peuvent varier suivant le compilateur et la bibliothèque C utilisée 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.