Большинство программ и библиотек по умолчанию компилируются с
отладочными символами (gcc с параметром -g
). Это означает, что при отладке
программы или библиотеки, которые были скомпилированы с
использованием отладочной информации, отладчик может предоставить не
только адреса памяти, но и имена подпрограмм и переменных.
Однако, включение отладочных символов значительно увеличивает размер программы или библиотеки. Ниже приведена информация по объему пространства, занимаемого отладочными символами:
Двоичный файл bash с отладочными символами: 1200 KB
Двоичный файл bash без отладочных символов: 480 KB
Файлы Glibc и GCC (/lib
и
/usr/lib
) с отладочными
символами: 87 MB
Файлы Glibc и GCC без отладочных символов: 16 MB
Размеры могут варьироваться в зависимости от используемого компилятора и библиотеки Си, но при сравнении программы с отладочными символами и без них, разница, обычно, составляет от двух до пяти раз.
Поскольку большинство пользователей никогда не будут использовать отладчик в своем программном обеспечении, удаление отладочных символов может освободить много места на диске. В следующем разделе показано, как удалить все отладочные символы из программ и библиотек.