Я пытаюсь посмотреть, как работают программы, запустив их с помощью отладчика Qt Creator. Для лучшей ориентации я хотел бы также видеть системные (основные) утилиты полностью в окне стека вызовов, как я использую их в MS Visual Studio 6.0, а не только видеть их код сборки. Для утилит отладчик Qt Creator показывает только то, что их символы отладки недоступны. (Иногда система генерирует отчеты об ошибках для своих разработчиков; в диалоге отчетов об ошибках запрашивается установка таких символов только для конкретной программы.) Как получить основные символы отладки? (Без перевода всей версии Ubuntu Я использую «Диспетчер обновлений» для регулярной установки обновлений. В моем каталоге
/sys/kernel/debug/x86содержится только один пустой файл. Я не нашел его в «Центре программного обеспечения Ubuntu» и не вижу, есть ли некоторые пакеты на http://packages.ubuntu.com/precise/x11/ - это то, что я ищу.) Спасибо!
Пакетам в Ubuntu сохранили их отладочную информацию в отдельном repo. Для загрузки этой отладочной информации работайте (копия и вставка):
printf "deb http://ddebs.ubuntu.com %s main restricted universe multiverse\n" $(lsb_release -cs){,-updates,-security,-proposed} | \
sudo tee -a /etc/apt/sources.list.d/ddebs.list
добавлять repo ссылки в /etc/apt/sources.list.d/ddebs.list
(Это помогает удалить repo). С другой стороны, можно также скопировать каждый из deb
ссылки в Источники программного обеспечения и добавляют их оттуда (Обратите внимание, что необходимо будет, вероятно, заменить $(lsb_release -cs)
с релизом Ubuntu, который Вы выполняете).
Загружать отладочную информацию для package
, можно просто установить package-dbgsym
или, в некоторых случаях, package-dbg
. Обратите внимание, что пакеты от PPA не имеют отладочную информацию в наличии от repos, и что это - обязанность специалиста по обслуживанию обеспечить пакет, который содержит отладочную информацию, обычно в названном пакете package-dbg
.
Отладочная информация установлена в /usr/lib/debug
, хотя gdb
автоматически чтения в отладочной информации при наличии и что Вы не должны вручную указывать местоположение для заглядывания. В зависимости от Версии совместимости Debhelper пакета отладочная информация может или быть расположена в папке с названием идентификатора сборки, расположенного внутри .build-id
(>= 9
), или может быть расположен относительно того, где исполняемый файл был бы установлен (< 9
). Например, если Вы искали местоположение отладочной информации для /usr/bin/zip
, и версия - меньше чем 9, это было бы в /usr/lib/debug/usr/bin/zip
.
Для удаления всей отладочной информации и repo работать sudo apt-get remove \.*-dbgsym
удалить все -dbgsym
пакеты, и sudo rm /etc/apt/sources.list.d/ddebs.list
удалить отладочную информацию repo.
Добавление к ответу saircot859. Также необходимо установить ключ GPG для репозиториев, как описано здесь: https://wiki.ubuntu.com/Debug%20Symbol%20Packages
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 428D7C01 C8CAB6595FDFF622
Добавление к ответу Evans: На Ubuntu 18.04 и позже Вы используете команду
sudo apt install ubuntu-dbgsym-keyring
устанавливать ключи GPG. (Согласно https://wiki.ubuntu.com/Debug%20Symbol%20Packages)