GDB автоматически считывает символы отладки после установки пакета.Вам не нужно компилировать вашу программу по-другому.
Если вы хотите, чтобы ваша программа загружала отладочную версию, лучше всего настроитьПуть поиска в библиотеке.Вы можете сделать это, установив LD_LIBRARY_PATH
временно:
$ LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/debug/ ldd test
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/debug/libstdc++.so.6 (0x00007efcef670000)
...
Или навсегда:
$ export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/debug/
$ ldd test
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/debug/libstdc++.so.6 (0x00007efcef670000)
...
Или вы можете сделать это общесистемным изменением.Вы можете сделать это в Ubuntu, добавив запись конфигурации в /etc/ld.so.conf.d/
и запустив ldconfig
для обновления кэша.
$ sudoedit /etc/ld.so.conf.d/debug.conf
$ cat /etc/ld.so.conf.d/debug.conf
/usr/lib/x86_64-linux-gnu/debug
$ sudo ldconfig
$ ldd test
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/debug/libstdc++.so.6 (0x00007f3aced53000)
...
Файлы конфигурации ищутся в алфавитном порядке, поэтому просто убедитесь, что вы пишете (debug.conf
выше) приходит раньше, чем значение по умолчанию (x86_64-linux-gnu.conf
в моей системе).