Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
RPMs mit Debugsymbolen (debuginfo) enthalten die Symboltabellen, die Debugger und Profiler wie gdb verwenden, um Adressen in Funktionsnamen und Quellcodezeilen aufzulösen. Azure Linux veröffentlicht ein debuginfo-Paket zusammen mit den meisten Binärpaketen, aber das debuginfo-Repository ist standardmäßig nicht aktiviert. Dadurch wird vermieden, dass große Symbolpakete auf Produktionssysteme geladen werden, wenn Sie sich nicht ausdrücklich dafür entscheiden.
In diesem Artikel wird erläutert, wo Azure Linux debuginfo Pakete veröffentlicht, wie Sie das Repository debuginfo aktivieren und Symbolpakete auf einem System installieren, das sie benötigt.
Note
Azure Linux 4.0 befindet sich jetzt in preview und ist streng auf Auswertungs- und Testzwecke beschränkt. Es ist nicht für den Produktionseinsatz geeignet.
Voraussetzungen
- Ein Azure Linux-System, bei dem Sie sich mit Shellzugriff authentifizieren können.
- Ein Benutzerkonto mit
sudoBerechtigungen, das zum Schreiben.repovon Dateien unter/etc/yum.repos.d/und zum Installieren von Paketen erforderlich ist.
Wo Azure Linux debuginfo Pakete veröffentlicht
Azure Linux veröffentlicht debuginfo RPMs für packages.microsoft.com (PMC) an einem dedizierten Ort, organisiert nach Version, Releasephase und Architektur. Für Azure Linux 4.0 lautet das Layout:
https://packages.microsoft.com/azurelinux/4.0/<STAGE>/base/debuginfo/<ARCH>/
-
<STAGE>istbetafür Pakete in der Azure Linux-Vorschauversion. -
<ARCH>ist die Zielarchitektur, wiex86_64oderaarch64.
Die Version, Phase und Architektur muss mit dem System übereinstimmen, auf das die Symbole geladen werden. Falsch übereinstimmende debuginfo Pakete lösen keine Symbole richtig auf.
Aktivieren des Repositorys debuginfo
Um
debuginfo-Pakete zu installieren, konfigurieren Sie DNF so, dass es das Azure Linuxdebuginfo-Repository für Ihr Release und Ihre Architektur verwendet:sudo dnf5 config-manager --set-enabled azurelinux-base-debuginfo.enabled=1Vergewissern Sie sich, dass das
debuginfoRepository mit dem folgenden Befehl aktiviert ist:dnf repolistDie Ausgabe sollte das neue
debuginfoRepository zusammen mit den Standard-Azure Linux-Repositorys auflisten.
Installieren Sie ein Debugsymbolpaket.
Nachdem das debuginfo Repository aktiviert wurde, installieren Sie Symbolpakete mit dnf install. Debugsymbolpakete teilen den Namen des Binärpakets und fügen ein -debuginfo Suffix hinzu. Führen Sie z. B. zum Installieren von Symbolen für glibcFolgendes aus:
sudo dnf install glibc-debuginfo
Wenn Sie Symbole für mehrere Pakete gleichzeitig installieren möchten, führen Sie jedes -debuginfo Paket in der Befehlszeile auf. Beispiel:
sudo dnf install glibc-debuginfo openssl-debuginfo
Nach der Installation verwenden Debugger und Profiler automatisch die neuen Symbole von /usr/lib/debug/.
Tip
Stimmen Sie die debuginfo Paketversion mit der binärpaketversion überein, die auf dem System installiert ist. Nicht übereinstimmende Versionen führen dazu, dass der Debugger auf Stacktraces zurückfällt, die nur Adressen enthalten. Führen Sie dnf info <package>-debuginfo aus, um die verfügbare Version vor der Installation zu prüfen.
Verwandte Inhalte
Weitere Informationen zu Azure Linux-Paketverwaltung finden Sie unter Package-Verwaltung unter Azure Linux-Übersicht.