Heim  >  Artikel  >  Backend-Entwicklung  >  Warum meldet GDB beim Debuggen von C-Ausnahmen in Ubuntu einen Fehler wegen fehlender Dateien?

Warum meldet GDB beim Debuggen von C-Ausnahmen in Ubuntu einen Fehler wegen fehlender Dateien?

DDD
DDDOriginal
2024-11-11 00:29:02541Durchsuche

Why Does GDB Report a Missing File Error When Debugging C   Exceptions in Ubuntu?

GDB zeigt den Fehler „Fehlende Datei für Bibliotheksquellcode“ an

Beim Verwenden von GDB zum Debuggen von C-Ausnahmen kann es sein, dass Benutzer auf eine Fehlermeldung stoßen, die auf eine fehlende Datei hinweist Datei, wie zum Beispiel „Keine solche Datei oder kein solches Verzeichnis“ für „raise.c.“ Dieser Fehler kann auch dann auftreten, wenn die Ausnahme korrekt behandelt wird.

Lösung: Bibliotheksquellcode und Debug-Informationen abrufen

Um dieses Problem zu beheben, ist es notwendig, die zu erhalten Quellcode und Debug-Informationen für die relevante Bibliothek, in diesem Fall libc6. Zu diesem Zweck stellt Ubuntu das Paket debuginfo bereit.

Schritte zum Debuggen des Quellcodes der C-Bibliothek:

  1. Installieren Sie die Debuginfo-Version von libc6: sudo apt install libc6- dbg.
  2. Konfigurieren Sie das Paketsystem zum Herunterladen von Quellcodepaketen:

    • Installieren Sie dpkg-dev: sudo apt install dpkg-dev.
    • Kommentieren Sie „ deb-src“-Zeilen in /etc/apt/sources.list, falls erforderlich.
  3. Quellcode herunterladen:

    • Verzeichnis erstellen: / opt/src.
    • Quellcode herunterladen: apt source libc6.
    • Beachten Sie das Quellcodeverzeichnis (z. B. /opt/src/glibc-2.23).
  4. Passen Sie das Quellcodeverzeichnis von GDB an:

    • Identifizieren Sie das erwartete Quellcodeverzeichnis mithilfe der (gdb)-Infoquelle.
    • Verschieben oder verknüpfen Sie den Quellcode mit dem erwarteten Verzeichnis location, oder legen Sie einen Ersatzpfad fest: (gdb) set replacement-path /expected-location /actual-location.

Sobald diese Schritte abgeschlossen sind, kann GDB dies tun Greifen Sie auf den richtigen Quellcode zu und stellen Sie genaue Debugging-Informationen für die Ausnahme bereit.

Das obige ist der detaillierte Inhalt vonWarum meldet GDB beim Debuggen von C-Ausnahmen in Ubuntu einen Fehler wegen fehlender Dateien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn