Вручную скомпилировать и установить символы отладки для пакета recoll?

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

Файлы сбоев генерируются apport для /usr/bin/recoll, поэтому я хочу использовать символы из внешнего файла , а не компилировать из источника с символами отладки (потому что тогда мне придется воспроизводить сбои ). Исходя из идентификатора сборки, я ожидаю, что они будут идти под /usr/lib/debug/.build-id/7e/83e15f5cfae88cef2850e4a510f4d4849ae6b9.debug:

$ file /usr/bin/recoll
/usr/bin/recoll: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=7e83e15f5cfae88cef2850e4a510f4d4849ae6b9, stripped
$ gdb
(gdb) show debug-file-directory
The directory where separate debug symbols are searched for is "/usr/lib/debug".

Я знаю, что могу добавить к debug-file-directory что-то вроде этого:

(gdb) set debug-file-directory /usr/lib/debug:/home/nathaniel/mysymbols

но мне все еще нужно скомпилировать объектный файл, и у меня возникают проблемы с поиском достаточной документации о том, как это сделать с помощью apt / dpkg. Конечно, я могу использовать apt-get source -b recoll, чтобы загрузить и собрать его, но идентификатор сборки не тот, и окончательный исполняемый файл по-прежнему удаляется. Я предполагаю, что это потому, что -fdebug-prefix-map не то же самое.

$ sudo apt-get build-dep recoll
$ apt-get source -b recoll
<snip>
./configure CFLAGS="-g -O2 -fdebug-prefix-map=/home/nathaniel/apt-get-source/recoll/recoll-1.23.7=.
<snip>
$ file recoll-1.23.7/qtgui/recoll
recoll-1.23.7/qtgui/recoll: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=be2479236c840a60c71848f9d8257b68856f28f5, not stripped
$ file recoll-1.23.7/debian/recoll/usr/bin/recoll
recoll-1.23.7/debian/recoll/usr/bin/recoll: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=be2479236c840a60c71848f9d8257b68856f28f5, stripped

, поэтому мой вопрос:

Как вручную откомпилировать и установить символы отладки для пакета recoll в Ubuntu 18.04?

Связанный:

2
задан 16 July 2019 в 19:35

0 ответов

Другие вопросы по тегам:

Похожие вопросы: