LINUX.ORG.RU

Перекомпеляция всего без debug символов и прочей шелухи, это возможно?


0

2

Современные дистры содержат много встроенных средств для лёгкой отладки ошибок и отправки багрепортов. Возник такой вопрос, а на производительности это сильно сказывается?

Например в Кубунту - первое что я делаю при установке себе или знакомым - удаляю всякие apport и whoopsie, потому что после падения приложения мне совершенно не интересно, что там случилось, скорее всего я и так знаю что, а все эти тормоза с генерацией отчётов бесят. Но для того чтобы составлять эти отчёты, в ядре и прогах должно стоять и отслеживаться куча всего, что мне не интересно но тормозит работу (или я не прав?). А что если перекомпелировать «мир» без всей этой debug лабуды, производительность возрастёт? И самое главное - где всё это отключать?

В Дженту, на сколько я понимаю, при всей его гибкости, всё равно много чего собирается с дебажными фичами, на случай ядерной войны. Но может ктонить уже такое делал? Есть профит?

Deleted

подписался, самому интересно.

abs ★★★
()
Ответ на: комментарий от leave

Это да, но после нескольких оказий с -DCMAKE_BUILD_TYPE=Debug в пакетах изр репозитория мне и пришла такая мысль. А может оно так много где есть? Мож все кеды так собраны и от того тормозят? :)

Deleted
()

в бинарных дистрибутивах (как минимум в debian, ubuntu, redhat, fedora) дебаг символы поставляются отдельными пакетами, не хочешь их - не ставь, по умолчанию они не ставятся. в гентушечке будь добр сам стрипай дебаг символы, вроде мануалы на их вики есть, по умолчанию, афаир, ничего не стрипается.

аппорт и прочая лабуда пользуются стандартной фичей ядра - sysctl kernel.core_pattern, если хочешь - можешь попробовать скомпилировать ядро без неё или поменять так, чтобы не запускался аппорт.

maloi ★★★★★
()
Последнее исправление: maloi (всего исправлений: 1)

В Gentoo по-умолчанию отладочные символы стрипаются, так что не волнуйся. Более того, по-умолчанию в Gentoo пакеты собираются без отладочных символов. Для сборки с отладочными символами надо самому указывать в make.conf опцию "-g" или компилятор-специфичные.

Выше чувак не прав.

anonymous
()
Ответ на: комментарий от anonymous

возможно обычные пакеты стрипаются. я помню, что мне приходилось генкернел хачить, чтоб он научился стрипать дебаг с модулей ядра, ибо по-умолчанию он этого точно не делает.

maloi ★★★★★
()
Ответ на: комментарий от maloi

make INSTALL_MOD_STRIP=1 modules_install

? genkernel практически никто не пользуется, гента к ядру параллельна, анон прав, по-дефолту дебаг инфа в генте стрипается.

wakuwaku ★★★★
()
Ответ на: комментарий от maloi

что мне приходилось генкернел хачить, чтоб он научился стрипать дебаг с модулей ядра, ибо по-умолчанию он этого точно не делает.

И на основе этого вы сделали вывод о всех пакетах?

Genkernel это вообще не показатель, его использует минимум людей, в основном только новички.

Сборку ядра проще сделать в ручную:

make menuconfig
make bzImage -jN
make modules -jN
make install
make INSTALL_MOD_STRIP=1 modules_install
Опция INSTALL_MOD_STRIP=1 как раз и укажет сделать стрип модулей.
N - число потоков сборки.

А так есть флаг debug, который по умолчанию выключен, его активация как раз и заставит при сборке и установке пакетов оставлять отладочную информацию.

Вот пример из ebuild`а firefox:

------------------------------------------------------------------------------------------------
...
	if use debug ; then
		sed -i -e «s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g» \
			«${S}»/build/unix/run-mozilla.sh || die «sed failed!»
	fi
...
------------------------------------------------------------------------------------------------
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/www-client/firefox/fi...

Вот выдержка из use.desc:

debug - Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see http://www.gentoo.org/proj/en/qa/backtraces.xml
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/profiles/use.desc

Почитайте уже документацию перед тем, как что-то утверждать.

kostik87 ★★★★★
()

В Дженту, на сколько я понимаю, при всей его гибкости, всё равно много чего собирается с дебажными фичами, на случай ядерной войны.

4.2 лютое! gentoo делает только то что ей скажет её root.

init_6 ★★★★★
()

Ну ясно, видать за исключением нескольких пакетов всё остальное должно быть собрано нормально и там - и там. Вопрос можно закрывать.

Deleted
()
Ответ на: комментарий от maloi

тш-ш-ш-ш! Помнишь о Винни-Пухе и неправильных пчёлах?

Э-э-э.. Это я не к тому что гентушники не правильные, вы не подумайте э-э-э как-бы и не совсем пчёлы... даже совсем НЕ пчёлы... Я не в смысле, что гентушники не как пчёлы, которые много трудятся...

В общем Мир(не Космонавтски, конечно)-Дружба-Жевачка.

Deleted
()
Ответ на: комментарий от kostik87

кстати, вы сами-то прочитайте то, что цитируете - debug никакого отношения к strip-у не имеет.

maloi ★★★★★
()
Ответ на: комментарий от Deleted

да просто вместо того чтобы по-нормальному сказать - «ты не прав», они а) возбудились и начали брызгать слюной и приводить нерелевантные выдержки из доков с требованием прочитать доки. б) тут же попытались меня научить собирать ядро и стрипать при этом модули (если что, я умею делать и то и другое).

maloi ★★★★★
()
Ответ на: комментарий от anonymous

Да ходил уже. А учебный год у меня и не заканчивался, меня за двойки в десятый раз на второй год в первом классе оставили.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.