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