Обычно выполняемая задача - профилировать вещи. Профилирование редко выполняется в отладочных сборках. Ubuntu, кажется, либо дает вам возможность выбора оптимизированных исполняемых файлов, либо отладочных сборок. Я столкнулся с этим как на libc, так и на vmlinux -..., который я извлек из vmlinuz. После того, как я извлек его, я обнаружил, что он был раздет.
Нужно ли создавать свои собственные системные библиотеки только для того, чтобы получать символы? Действительно ли символы занимают столько памяти или диска? Полная отладочная версия lib libc занимает всего 7,6 МБ и используется всеми запущенными процессами! Оптимизированная версия с символами должна быть крошечной. Почему они удаляются?
Какой apt-get мне нужен для libc и vmlinuz, чтобы получить оптимизированные версии без удаления?
Политикой Ubuntu создает все с отладочной информацией, включенной, и затем мы разделяем эти символы из двоичных пакетов. Почти для всех пользователей эти символы потрачены впустую пространство, и для некоторых вещей это может быть существенным количеством потраченного впустую пространства и загрузить время. Например, Firefox и LibreOffice имеют почти концерт отладочной информации, и Вы заметите, что отладочные символы ядра являются сотнями мегабайтов.
Для небольшого количества людей, которым нужны эти символы - и когда Вам нужны они, Вам действительно нужны они - мы вынимаем всю отладочную информацию из двоичных пакетов и засовываем их в -dbgsym
пакет. См. Отлаживать Катастрофический отказ Программы для того, как достигнуть dbgsym репозиторий.
Некоторые пакеты не имеют -dbgsym
пакет. Главным образом это пакеты, которые уже имеют -dbg
пакет или не имеют никакой отладочной информации от сборки - или потому что у них на самом деле нет исполняемого кода, или (иногда) из-за ошибки сборки.
Отладочная информация обычно превращается в отдельный пакет, который может быть установлен вдоль стороны фактический пакет. Им обычно добавляли-dbg на конце.
, Например, пакет mythtv называют
mythtv
, и отладочная информация расположена в
mythtv-dbg
, Таким образом, у Вас должны были бы быть оба из тех пакетов, установленных для отладки MythTV