Как я могу получить оптимизированные, неснятые версии libc и vmlinuz?

Обычно выполняемая задача - профилировать вещи. Профилирование редко выполняется в отладочных сборках. Ubuntu, кажется, либо дает вам возможность выбора оптимизированных исполняемых файлов, либо отладочных сборок. Я столкнулся с этим как на libc, так и на vmlinux -..., который я извлек из vmlinuz. После того, как я извлек его, я обнаружил, что он был раздет.

Нужно ли создавать свои собственные системные библиотеки только для того, чтобы получать символы? Действительно ли символы занимают столько памяти или диска? Полная отладочная версия lib libc занимает всего 7,6 МБ и используется всеми запущенными процессами! Оптимизированная версия с символами должна быть крошечной. Почему они удаляются?

Какой apt-get мне нужен для libc и vmlinuz, чтобы получить оптимизированные версии без удаления?

1
задан 22 August 2012 в 19:15

2 ответа

Политикой Ubuntu создает все с отладочной информацией, включенной, и затем мы разделяем эти символы из двоичных пакетов. Почти для всех пользователей эти символы потрачены впустую пространство, и для некоторых вещей это может быть существенным количеством потраченного впустую пространства и загрузить время. Например, Firefox и LibreOffice имеют почти концерт отладочной информации, и Вы заметите, что отладочные символы ядра являются сотнями мегабайтов.

Для небольшого количества людей, которым нужны эти символы - и когда Вам нужны они, Вам действительно нужны они - мы вынимаем всю отладочную информацию из двоичных пакетов и засовываем их в -dbgsym пакет. См. Отлаживать Катастрофический отказ Программы для того, как достигнуть dbgsym репозиторий.

Некоторые пакеты не имеют -dbgsym пакет. Главным образом это пакеты, которые уже имеют -dbg пакет или не имеют никакой отладочной информации от сборки - или потому что у них на самом деле нет исполняемого кода, или (иногда) из-за ошибки сборки.

4
ответ дан 22 August 2012 в 19:15

Отладочная информация обычно превращается в отдельный пакет, который может быть установлен вдоль стороны фактический пакет. Им обычно добавляли-dbg на конце.

, Например, пакет mythtv называют

mythtv

, и отладочная информация расположена в

mythtv-dbg

, Таким образом, у Вас должны были бы быть оба из тех пакетов, установленных для отладки MythTV

0
ответ дан 22 August 2012 в 19:15

Другие вопросы по тегам:

Похожие вопросы: