Я пытаюсь посмотреть, как работают программы, запустив их отладчиком Qt Creator. Для лучшей ориентации я хотел бы также видеть системные (основные) утилиты полностью в окне стека вызовов, как я использую их в MS Visual Studio 6.0, а не только видеть их код сборки. Для утилит отладчик Qt Creator показывает только то, что их символы отладки недоступны. (Иногда система генерирует отчеты об ошибках для своих разработчиков; в диалоговом окне отчета об ошибках запрашивается установка таких символов только для конкретной программы.) Как я могу получить основные символы отладки? (Без перевода всей версии Ubuntu. Я использую «Менеджер обновлений» для регулярной установки обновлений. Мой
/ SYS / ядро / отладки / x86Каталог содержит только один пустой файл. Я не нашел его в «Центре программного обеспечения Ubuntu», и при этом я не вижу, является ли какой-то пакет на http://packages.ubuntu.com/precise/x11/ тем, что я ищу.) Спасибо!
Ответы:
У пакетов в Ubuntu свои символы отладки хранятся в отдельном репозитории. Чтобы загрузить эти символы отладки, запустите (скопируйте и вставьте):
добавить ссылки на репо
/etc/apt/sources.list.d/ddebs.list
(это облегчает удаление репо). Кроме того, вы также можете скопировать каждую изdeb
ссылок в Software Sources и добавить их оттуда (обратите внимание, что вам, вероятно, придется заменить ее$(lsb_release -cs)
на версию Ubuntu, которую вы используете).Чтобы скачать отладочные символы для
package
, вы можете просто установитьpackage-dbgsym
или, в некоторых случаяхpackage-dbg
. Обратите внимание, что пакеты из PPA не имеют отладочных символов, доступных в репозиториях, и что сопровождающий обязан предоставить пакет, содержащий символы отладки, обычно в названном пакетеpackage-dbg
.Символы отладки установлены
/usr/lib/debug
, хотя ониgdb
автоматически считываются в символы отладки, если они доступны, и вам не нужно вручную указывать местоположение для поиска. В зависимости от версии пакета, совместимой с Debhelper, символы отладки могут находиться в папке с имя идентификатора сборки, расположенного внутри.build-id
(>= 9
), или может быть относительно места, где будет установлен исполняемый файл (< 9
). Например, если вы искали расположение символов отладки/usr/bin/zip
, а версия меньше 9, она была бы в/usr/lib/debug/usr/bin/zip
.Чтобы удалить все символы отладки и репо, запустите,
sudo apt-get remove \.*-dbgsym
чтобы удалить все-dbgsym
пакеты иsudo rm /etc/apt/sources.list.d/ddebs.list
удалить репо отладочных символов.источник
Добавление к ответу saircot859. Вы также должны установить ключ GPG для репозиториев, как описано здесь: https://wiki.ubuntu.com/Debug%20Symbol%20Packages
источник
sudo apt install ubuntu-dbgsym-keyring
.Добавление к ответу Эванса: В Ubuntu 18.04 и более поздних версиях вы используете команду
установить ключи GPG. (Согласно https://wiki.ubuntu.com/Debug%20Symbol%20Packages )
источник