GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie verwende ich GDB in Eclipse für C/C++-Debugging?

Die folgenden Anweisungen gelten für Eclipse 3.5 (Galileo). Für 3.6 (Helios) sind sie ähnlich, mit Ausnahme des Links in Schritt 2.

  1. Gehen Sie zu Hilfe> Neue Software installieren.
  2. Fügen Sie das CDT-Repository http://download.eclipse.org/tools/cdt/releases/galileo zur Liste der Repositorys hinzu.
  3. Wählen Sie das CDT-Repository aus. Jetzt müssen Sie das CDT-Plugin zusammen mit der GDB-Unterstützung aus der Liste der verfügbaren Plugins installieren (wählen Sie die CDT-Hauptfunktionen sowie die CDT-GNU-Toolchain-Debug-Unterstützung).

Sie sollten nun in der Lage sein, Haltepunkte zu setzen und Werte von Variablen in Eclipse zu überprüfen.

Eine Alternative ist die Installation von DDD (ein GUI-Frontend für GDB).


Laden Sie zuerst Eclipse CDT herunter und stellen Sie sicher, dass Sie ein Projekt in Eclipse importieren können, wie hier gezeigt:How to create a project from existing source in Eclipse and then find it?

Sie könnten versuchen, die Dinge mit diesem einfachen Testverzeichnis zu testen:https://github.com/cirosantilli/ide-test-projects/tree/e93924d4e2ce8cd64b00a7ce67d10d62b497fda1/cpp

git clone https://github.com/cirosantilli/ide-test-projects
cd ide-test-projects/cpp
make
./main.out

Jetzt sollten Sie Eclipse auch mitteilen, wie es Standardbibliothekssymbole finden kann, wie unter:"Unresolved integration" error with Eclipse CDT for C standard library headers Their defaults are terrible and work not work.

Nachdem Eclipse das Projekt importiert und z. Sie scheinen in der Lage zu sein, zu Definitionen usw. zu springen, lassen Sie uns einen GDB-Schrittdebug einrichten.

Zuerst müssen Sie unter:

gehen
  • Laufen
  • Konfigurationen ausführen
  • C/C++-Anwendung
  • cpp Default ("cpp" ist der Projektname)
  • C/C++-Anwendung

und setzen Sie es auf:

main.out

Jetzt weiß Eclipse, wie es Ihr Programm ausführen soll. Wir können das durch einen Testlauf bestätigen:

  • Laufen
  • Ausführen (Strg + F11)

und das Terminal unten zeigen die Ausgabe des Programms:

Schließlich können wir an jedem Punkt einen Haltepunkt setzen, z. main indem Sie auf die Seitenleiste links neben dem Code doppelklicken, wodurch ein blauer Kreis entsteht (siehe Bild oben).

Jetzt können wir debuggen über:

  • Laufen
  • Fehlerbehebung (F11)

und wie erwartet bleiben wir bei main :

Die hellblaue Linie über (void)argv; gibt an, dass dies die aktuelle Zeile ist, die vom Debugger ausgeführt wird.

Von da an müssen Sie nur noch die Debugging-Schnittstelle lernen, z. B.:

  • Shortcuts wie F6 zum Überspringen, wie jetzt unter "Ausführen" sichtbar (nur sichtbar, wenn Sie mit dem Debuggen beginnen)
  • Variablenwerte unter "Variablen" rechts anzeigen
  • Beenden von Läufen mit Ausführen> Beenden (Strg + F2)
  • Argumente an das Programm übergeben:Eclipse-Befehlszeilenargumente

Mit Ctrl + F8 können Sie dann wieder in die normale Codeansicht (Non-Debug) wechseln Sobald Sie mit dem Debuggen fertig sind:Wie kann man die Perspektive zurückändern, nachdem der debuggte Prozess in Eclipse beendet wurde?

Getestet auf Eclipse 2020-03 (4.15.0).


Linux
  1. Wie ich Ansible und Anacron für die Automatisierung verwende

  2. So verwenden Sie systemd-nspawn für die Linux-Systemwiederherstellung

  3. Wie verwende ich Lightdm für benutzerdefinierte Sitzungen?

  4. Wie überprüfe ich meine gcc C++-Compiler-Version für mein Eclipse?

  5. Remote-Debugging von C++-Anwendungen mit Eclipse-GUI

So suchen Sie unter Linux nach Listening Ports (Ports in use)

So verwenden Sie Avidemux für die Videobearbeitung

So führen Sie einen Befehl für eine bestimmte Zeit in Linux aus

So kompilieren und führen Sie C- und C++-Programme unter Linux aus

So führen Sie C/C++-Programme unter Linux aus [Terminal &Eclipse]

So verwenden Sie IPTables anstelle von Firewalld für Fedora 30-31-32