Heim >Backend-Entwicklung >C++ >Warum fehlt GDB beim Debuggen von C-Programmen der Quellcode?

Warum fehlt GDB beim Debuggen von C-Programmen der Quellcode?

Linda Hamilton
Linda HamiltonOriginal
2024-11-13 01:33:01331Durchsuche

Why is GDB Missing Source Code When Debugging C Programs?

Fehlender Quellcodefehler in GDB

Problem:

Bei Verwendung von GDB zum Debuggen von C Bei Programmen, die Ausnahmen auslösen, erhalten Benutzer eine Fehlermeldung, die darauf hinweist, dass raise.c fehlt. Dieser Fehler verhindert das vollständige Debuggen des Quellcodes.

Behebung:

Um dieses Problem zu beheben und das vollständige Debuggen des Quellcodes in GDB zu aktivieren, führen Sie die folgenden Schritte aus:

1. Installieren Sie die Debuginfo-Version von Libc6:

Stellen Sie sicher, dass das libc6-dbg-Paket auf Ihrem System installiert ist. Dieses Paket enthält die Debugging-Informationen für die C-Bibliothek.

2. Paketsystem für die Quellcode-Verarbeitung konfigurieren:

Falls noch nicht konfiguriert, aktivieren Sie Ihr Paketsystem zum Herunterladen und Verarbeiten von Quellcode-Paketen durch:

  • Installieren von dpkg-dev
  • Deb-src-Zeilen in /etc/apt/sources.list aktivieren und sudo apt update ausführen

3. Laden Sie den Quellcode für die C-Bibliothek herunter:

  • Erstellen Sie ein Verzeichnis für die Speicherung des Quellcodes (z. B. /opt/src)
  • Laden Sie den Quellcode herunter, der der installierten C-Bibliothek entspricht Version mit apt source libc6

4. Suchen Sie das Quellcodeverzeichnis und legen Sie den GDB-Pfad fest:

  • Bestimmen Sie den erwarteten Quellcodespeicherort mit dem Befehl (gdb) info source
  • Verschieben oder verknüpfen Sie den Quellcode mit dem erwarteten Speicherort oder Verwenden Sie (gdb) set replacement-path, um GDB auf den richtigen Pfad umzuleiten

Nachdem diese Schritte abgeschlossen sind, sollte GDB beim Debuggen von C-Programmen nun den Quellcode korrekt anzeigen.

Das obige ist der detaillierte Inhalt vonWarum fehlt GDB beim Debuggen von C-Programmen der Quellcode?. 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