LINUX.ORG.RU

Дебужные и релизные версии всего или выбранного софта.

 ,


0

1

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

Как разные пакетные менеджеры помогают решить такую задачу?
интересуют portage, nix

И при этом я хочу продолжать пользоваться релизным вариантом предыдущей версии этой программы.

Слоты! говорят гентушники. Ноо, блин... Не подходят они для этого сценария использования.

ставить в chroot всю систему целиком в дебужном варианте? Хотелось бы не всю, а только для одной программы. Как прописать дебужные USE-флаги для всех зависимостей указанного пакета? (В смысле автоматизированно, а не руками).

Про слоты какие-то херовые гентушники говорят, у нормальных стоит:

FEATURES=«compressdebug splitdebug nostrip»

что генерит все символы в отдельных файлах в папке /usr/lib/debug

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

Ага, и руками всё туда рекурсивно прописывать. Рекурсивно - в смысле для всех зависимостей целевой программы

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Ответ на: комментарий от arrecck

В какой момент срабатывает эта ваша FEATURE installsources?
Как это всё соотносится с git-репозиторием? Т.е. могу я там же разместить репозиторий и он не будет затёрт?
Чтобы изменения отлаживать и коммитить

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от XMs

как задетектить splitdebug изнутри ebuild ?

почему эти строчки

if ! has nostrip ${FEATURES} && ! has splitdebug ${FEATURES} ; then
		${STRIP:-${CTARGET}-strip} --strip-debug "${ED}"/*/libpthread-*.so
fi

есть только в билде для glibc и нигде больше?

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

Зачем? Отлаживаешь конкретную софтину — ей дебаг-версию и делай, зачем всё остальное пересобирать?

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

Зачем? Отлаживаешь конкретную софтину — ей дебаг-версию и делай, зачем всё остальное пересобирать?

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

В бинарных дистрибутивах обычно отладочная информация ко всему идёт в отдельных пакетах, которые можно доустанавливать по необходимости. В федоре и центоси даже gdb говорит какие конкретно пакеты надо доустановить, чтобы отлаживалось лучше 8).

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

Это большая софтина, у неё всё остальное в зависимостях

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

если у тебя все сырцы на руках, то собирай с -g на месте и отлаживай. splitdebug для системных библиотек. По мере надобности можешь собирать нужные пакеты с отладочной инфой. Сейчас процы быстрые, можешь хоть всю систему пересобрать.

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

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

Я отлаживал несколько софтин — полный стектрейс редко когда нужен был, обычно хватало дебажной инфы только конкретной бинари. Впрочем, это уже от софтины зависит

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