Comment installer les symboles de débogage pour les packages installés?


8

J'essaie de voir comment les programmes fonctionnent en les exécutant par le débogueur 'Qt Creator'. Pour une meilleure orientation, j'aimerais voir également les utilitaires système (de base) entièrement dans la fenêtre de la pile d'appels car je suis utilisé à partir de MS Visual Studio 6.0, non seulement pour voir leur code d'assembly. Pour les utilitaires, le débogueur 'Qt Creator' affiche uniquement que leurs symboles de débogage ne sont pas disponibles. (Parfois, le système génère des rapports de bogues pour ses développeurs; la boîte de dialogue de rapport de bogues a demandé l'installation de tels symboles uniquement pour un programme particulier.) Comment puis-je obtenir les symboles de débogage principaux? (Sans traduire l'intégralité de la version d'Ubuntu. J'utilise le 'Update Manager' pour installer des mises à jour régulièrement. Mon

/ sys / kernel / debug / x86
Le répertoire contient un seul fichier vide. Je ne l'ai pas trouvé dans le 'centre logiciel Ubuntu' et je ne vois pas si certains des packages sur http://packages.ubuntu.com/precise/x11/ sont ce que je recherche.) Merci!


1
Voir cette page.
saiarcot895

@ saiarcot895 Cela fonctionne, veuillez formuler votre commentaire comme une réponse afin que je puisse le définir comme accepté. Où sont placés les symboles de débogage dans mon système de fichiers? Merci!
Tomáš Pečený

Réponses:


8

Les packages dans Ubuntu ont leurs symboles de débogage stockés dans un référentiel séparé. Pour télécharger ces symboles de débogage, exécutez (copier-coller):

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

dans lequel ajouter les liens du référentiel /etc/apt/sources.list.d/ddebs.list(cela facilite la suppression du référentiel). Alternativement, vous pouvez également copier chacun des debliens dans les sources logicielles et les ajouter à partir de là (notez que vous devrez probablement le remplacer $(lsb_release -cs)par la version Ubuntu que vous exécutez).

Pour télécharger les symboles de débogage pour package, vous pouvez simplement installer package-dbgsymou, dans certains cas, package-dbg. Notez que les packages d'un PPA n'ont pas de symboles de débogage disponibles à partir de repos, et qu'il incombe au responsable de fournir un package qui contient les symboles de débogage, généralement dans un package nommé package-dbg.

Les symboles de débogage sont installés dans /usr/lib/debug, bien qu'ils gdblisent automatiquement les symboles de débogage s'ils sont disponibles et que vous n'avez pas besoin de spécifier manuellement un emplacement à rechercher. Selon la version de compatibilité de Debhelper du package, les symboles de débogage peuvent être situés dans un dossier avec le nom de l'ID de construction situé à l'intérieur .build-id( >= 9), ou peut être situé par rapport à l'endroit où l'exécutable serait installé ( < 9). Par exemple, si vous cherchiez l'emplacement des symboles de débogage pour /usr/bin/zip, et que la version est inférieure à 9, ce serait en /usr/lib/debug/usr/bin/zip.

Pour supprimer tous les symboles de débogage et le dépôt, exécutez sudo apt-get remove \.*-dbgsympour supprimer tous les -dbgsympackages et sudo rm /etc/apt/sources.list.d/ddebs.listpour supprimer le dépôt de symboles de débogage.


5
Juste une note que les PPA génèrent désormais des packages dbgsym. Mais vous devez ajouter une ligne deb avec "main / debug", comme: "deb ppa.launchpad.net/USER/PPA/ubuntu vivid main / debug"
Michael Terry

Depuis bionic, le repo ddebs n'a pas de fichier Release pour bionic-security
Paulo Marcel Coelho Aragão

5

Ajout à la réponse de saircot859. Vous devez également installer la clé GPG pour les référentiels comme décrit ici: https://wiki.ubuntu.com/Debug%20Symbol%20Packages

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 428D7C01 C8CAB6595FDFF622

La page wiki liée a été mise à jour. Sur Ubuntu 18.04 LTS et plus récent, utilisez sudo apt install ubuntu-dbgsym-keyring.
user7610

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.