Heim > Backend-Entwicklung > C++ > Warum schreit GDB beim Abfangen von Ausnahmen „Missing raise.c'?

Warum schreit GDB beim Abfangen von Ausnahmen „Missing raise.c'?

Susan Sarandon
Freigeben: 2024-11-08 21:11:02
Original
403 Leute haben es durchsucht

Why Does GDB Cry

Die Klage von GDB: Das fehlende raise.c-Rätsel wird gelöst

Beim Abfangen von Ausnahmen kann in GDB ein ärgerlicher Fehler auftreten, bei dem der Debugger das beklagt Fehlen von „raise.c.“ Um dieses Problem zu lösen, gehen wir näher auf das Problem und seine Lösung ein.

Die zugrunde liegende Ursache

Die fehlende Datei „raise.c“ ist für GDB von entscheidender Bedeutung um während des Debuggens genaue Quellzeileninformationen bereitzustellen. Ohne sie verwendet GDB standardmäßig unsichere Speicherorte, was zu verwirrenden Fehlermeldungen führt.

Schritt-für-Schritt-Lösung

Um dieses Problem effektiv zu beheben, befolgen Sie diese umfassenden Schritte:

  1. Debuginfo-Pakete installieren: Stellen Sie sicher, dass die Debuginfo-Version der C-Bibliothek („libc6-dbg“) installiert ist.
  2. Quellcode aktivieren Pakete: Bereiten Sie das Ubuntu-Paketsystem für die Verarbeitung von Quellcodepaketen vor, indem Sie das Paket „dpkg-dev“ installieren und überprüfen, ob die deb-src-Zeilen in „/etc/apt/sources.list“ unkommentiert sind.
  3. Quellcode herunterladen: Erhalten Sie den Quellcode für die installierte C-Bibliotheksversion, indem Sie ein Verzeichnis erstellen (z. B. „/opt/src“), „apt source libc6“ ausführen und das Verzeichnis identifizieren, in dem sich die Quelle befindet Code befindet sich (z. B. „/opt/src/glibc-2.23“).
  4. Speicherort des Quellcodes angeben: GDB erwartet den Quellcode an bestimmten Speicherorten. Bestimmen Sie das erwartete Verzeichnis mit „gdb“-Befehlen wie „info source“. Wenn sich die tatsächlichen und erwarteten Verzeichnisse unterscheiden, aktualisieren Sie den GDB-Pfad mit „set replacement-path /build/glibc-KM3i_a/glibc-2.23 /opt/src/glibc-2.23“.

Fazit

Durch die Einhaltung dieser Schritte werden die Beschwerden von GDB über fehlende Quelldateien zum Schweigen gebracht, was ein nahtloses Debuggen von Ausnahmen ermöglicht. Sie können jetzt sicher durch die Tiefen des C-Bibliothekscodes navigieren und so eine genaue Diagnose und Lösung von Laufzeitproblemen gewährleisten.

Das obige ist der detaillierte Inhalt vonWarum schreit GDB beim Abfangen von Ausnahmen „Missing raise.c'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage