Может быть по-разному.файлы dwo можно объединить в один?

#c #compilation #dwarf

Вопрос:

Предыстория:

Мне нужна отладочная информация кода в нашем проекте. Доступны следующие два подхода:

  1. Скомпилировать с использованием -g , а затем использовать GNU binary utilities strip и objcopy перенести отладочную информацию в отдельный файл.
  2. Скомпилируйте с помощью -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