Heim >Backend-Entwicklung >C++ >Warum gibt GDB einen Fehler wegen einer fehlenden raise.c-Datei aus, obwohl ich eine Ausnahme erhalte?

Warum gibt GDB einen Fehler wegen einer fehlenden raise.c-Datei aus, obwohl ich eine Ausnahme erhalte?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-10 06:57:02977Durchsuche

Why is GDB throwing an error about a missing raise.c file even though I'm catching an exception?

GDB-Fehler: Datei „raise.c“ fehlt

Beim Ausführen von GDB zum Debuggen eines Programms können Benutzer auf eine Fehlermeldung stoßen, die sich über das Fehlen beschwert raise.c-Datei. Dies geschieht trotz Abfangen einer Ausnahme. Um dieses Problem zu beheben, muss GDB für das vollständige Quellcode-Debugging der C-Bibliothek vorbereitet werden.

  1. Installieren Sie die Debuginfo-Version von Libc6:

    Falls noch nicht installiert, installieren Sie die Debuginfo-Version von libc6 mit:

    sudo apt install libc6-dbg
  2. Paketsystem vorbereiten:

    Stellen Sie das Paket sicher Das System kann Quellcodepakete verarbeiten durch:

    • Installieren von dpkg-dev: sudo apt install dpkg-dev
    • Überprüfen nach deb-src-Zeilen in /etc/apt/sources.list ( unycomment, falls erforderlich)
    • Aktualisierung der Repositorys: sudo apt update
  3. Quellcode herunterladen:

    • Erstellen Sie ein Verzeichnis (z. B. /opt/src)
    • Laden Sie den Quellcode für die installierte C-Bibliotheksversion herunter:

      cd /opt/src
      apt source libc6
    • Notieren Sie sich den Verzeichnisnamen (z. B. , /opt/src/glibc-2.23)
  4. GDB konfigurieren:

    Bestimmen Sie das Verzeichnis, in dem GDB den Quellcode erwartet Laufende (gdb) Informationsquelle innerhalb der GDB. Geben Sie den richtigen Verzeichnispfad mit (gdb) set replacement-path an oder verschieben Sie den Quellcode an den erwarteten Speicherort.

Das obige ist der detaillierte Inhalt vonWarum gibt GDB einen Fehler wegen einer fehlenden raise.c-Datei aus, obwohl ich eine Ausnahme erhalte?. 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