6.60. Simboli di debug

Molti programmi e librerie sono compilati, per default, con i simboli di debug inclusi (con il parametro di gcc -g). Questo significa che, debuggando un programma o libreria compilato con le informazioni di debug incluse, il debugger può dare non solo indirizzi di memoria, ma anche nomi di routine e variabili.

L'inclusione di questi simboli di debug, tuttavia, aumenta significativamente le dimensioni di un programma o libreria. Per avere un'idea dell'ammontare di spazio occupato da questi simboli si dia un'occhiata ai dati seguenti:

Le dimensioni possono in qualche modo variare in funzione di quale compilatore è stato usato e quale libreria C, ma quando si confrontano programmi con e senza i simboli di debug la differenza di solito sarà di un fattore tra 2 e 5.

Dal momento che la maggior parte delle persone probabilmente non userà mai un debugger col proprio software di sistema, è possibile guadagnare un sacco di spazio disco rimuovendo questi simboli. La prossima sezione mostrerà come eliminare tutti i simboli di debug da tutti i programmi e le librerie. Informazioni su altri modi di ottimizzare il proprio sistema si possono trovare su http://www.linuxfromscratch.org/hints/downloads/files/optimization.txt.