перемещение дампа ядра из производственной среды Unix в другую среду разработки Unix

Одним из наших приложений является генерация ядра в производстве. Однако сгенерированное ядро ​​​​не очень помогает, так как большинство значений переменных отображаются как оптимизированные. Он не содержит много информации об отладке.

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

Пожалуйста, дайте мне знать, как мы можем перенести ядро ​​​​из рабочей среды в среду разработки, не перемещая оставшиеся зависимые библиотеки.

заранее спасибо


person NoName    schedule 05.06.2012    source источник
comment
Если системные библиотеки в среде разработки не совпадают с системными библиотеками в производственной среде, то gdb выдаст предупреждения и может не декодировать основной файл.   -  person jxh    schedule 05.06.2012


Ответы (1)


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

Обычно удобно копировать зависимые библиотеки в структуру каталогов, которая имитирует структуру корневых каталогов производственной среды (если хотите, фальшивый корень). Затем вы можете использовать команду gdb set solib-absolute-prefix, чтобы указать путь к этому фальшивому корню для места, где можно найти библиотеки.

Этот вопрос кажется связанным, если не дубликатом еще один вопрос.

person jxh    schedule 05.06.2012
comment
Спасибо, однако эта копия потребует много ручных усилий. Я когда-то читал, что мы можем упаковать такие библиотеки с помощью командного пакета gdb. Знаете ли вы о такой команде, которую я пытался найти, но ничего не нашел. Будет очень полезно, если вы поможете мне с этим. - person NoName; 05.06.2012
comment
@NoName: я добавил ссылку на другой вопрос, который должен вам помочь. - person jxh; 05.06.2012