#c #compilation #dwarf
Вопрос:
Предыстория:
Мне нужна отладочная информация кода в нашем проекте. Доступны следующие два подхода:
- Скомпилировать с использованием
-g
, а затем использовать GNU binary utilitiesstrip
иobjcopy
перенести отладочную информацию в отдельный файл. - Скомпилируйте с помощью
-gsplit-dwarf
Вопрос
Второй подход создает .dwo
для каждой единицы перевода в приложении. Хотя это улучшило бы время компоновщика. Но при огромном количестве файлов перевода это создало бы для нас головную боль при управлении.
Есть ли способ объединить все .dwo
файлы в один файл для каждого двоичного файла?
Информация о системе
Компилятор: набор инструментов GCC.
ОС: CentOS / RH 7/8
Ответ №1:
Вызывается инструмент, который вы ищете dwp
. Он собирает ваши .файлы dwo в файл .dwp («пакет DWARF»). Файлы .dwp сами по себе могут быть объединены в файлы .dwp большего размера, если это необходимо.
Он должен поставляться с не-древними пакетами binutils.
Комментарии:
1. Я хотел бы добавить
dwp
файл пакета Dwarf, и у него есть две версии. GDB 7.x не поддерживает версию 2. Мне пришлось использовать gdb 8.x