Wie installiere ich Debug-Symbole für installierte Pakete?


8

Ich versuche zu beobachten, wie Programme funktionieren, indem ich sie mit dem 'Qt Creator'-Debugger ausführe. Zur besseren Orientierung möchte ich auch die Systemdienstprogramme (Kerndienstprogramme) vollständig im Aufrufstapelfenster sehen, da ich von MS Visual Studio 6.0 aus verwendet werde, und nicht nur, um deren Assemblycode anzuzeigen. Für die Dienstprogramme zeigt der Debugger 'Qt Creator' nur an, dass ihre Debug-Symbole nicht verfügbar sind. (Manchmal generiert das System Fehlerberichte für seine Entwickler. Im Dialogfeld "Fehlerbericht" wurde die Installation solcher Symbole nur für ein bestimmtes Programm angefordert.) Wie kann ich die wichtigsten Debug-Symbole abrufen? (Ohne die gesamte Ubuntu-Version zu übersetzen. Ich verwende den 'Update Manager', um Updates regelmäßig zu installieren

/ sys / kernel / debug / x86
Verzeichnis enthält nur eine leere Datei. Ich habe es weder im 'Ubuntu Software Center' gefunden, noch sehe ich, ob einige der Pakete unter http://packages.ubuntu.com/precise/x11/ das sind, wonach ich suche.) Danke!


1
Siehe diese Seite.
Saiarcot895

@ saiarcot895 Es funktioniert, bitte formulieren Sie Ihren Kommentar als Antwort, damit ich ihn als akzeptiert festlegen kann. Wo befinden sich die Debug-Symbole in meinem Dateisystem? Vielen Dank!
Tomáš Pečený

Antworten:


8

Pakete in Ubuntu haben ihre Debugging-Symbole in einem separaten Repo gespeichert. Führen Sie zum Herunterladen dieser Debugging-Symbole Folgendes aus (Kopieren und Einfügen):

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

Hinzufügen der Repo-Links /etc/apt/sources.list.d/ddebs.list(Dies erleichtert das Entfernen des Repo). Alternativ können Sie auch jeden der debLinks in Softwarequellen kopieren und von dort aus hinzufügen (Beachten Sie, dass Sie ihn wahrscheinlich durch $(lsb_release -cs)die von Ihnen ausgeführte Ubuntu-Version ersetzen müssen ).

Um die Debugging-Symbole für herunterzuladen package, können Sie sie einfach installieren package-dbgsymoder in einigen Fällen package-dbg. Beachten Sie, dass für Pakete aus einer PPA keine Debugging-Symbole von Repos verfügbar sind und dass es in der Verantwortung des Betreuers liegt, ein Paket bereitzustellen, das die Debugging-Symbole enthält, normalerweise in einem Paket mit dem Namen package-dbg.

Debugging-Symbole werden installiert /usr/lib/debug, obwohl gdbDebugging-Symbole automatisch eingelesen werden, sofern verfügbar, und dass Sie nicht manuell einen Speicherort angeben müssen. Abhängig von der Debhelper-Kompatibilitätsversion des Pakets befinden sich Debugging-Symbole möglicherweise entweder in einem Ordner mit Der Name der Build-ID befindet sich in .build-id( >= 9) oder möglicherweise relativ zu dem Ort, an dem die ausführbare Datei installiert werden würde ( < 9). Wenn Sie beispielsweise nach dem Speicherort der Debugging-Symbole suchen /usr/bin/zipund die Version kleiner als 9 ist, ist dies der Fall /usr/lib/debug/usr/bin/zip.

Um alle Debugging-Symbole und das Repo sudo apt-get remove \.*-dbgsymzu entfernen, führen Sie alle -dbgsymPakete aus und sudo rm /etc/apt/sources.list.d/ddebs.listentfernen Sie das Repo für Debugging-Symbole.


5
Nur ein Hinweis, dass PPAs jetzt dbgsym-Pakete generieren. Aber Sie müssen eine Deb-Zeile mit "main / debug" hinzufügen, wie: "deb ppa.launchpad.net/USER/PPA/ubuntu vivid main / debug"
Michael Terry

Ab bionic hat das ddebs repo keine Release-Datei für bionic-security
Paulo Marcel Coelho Aragão


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.