5.2.13
09/23/17
Last Modified 04/23/14 by Walter Tasin
EclipseRedirect Reload Page

Umleitung der Ein-/Ausgabe zum Debugging in Eclipse (Windows)

Allgemeines

Die Umleitung in die integrierte Konsole von Eclipse ist leider seit Jahren fehlerhaft implementiert.
So kommt es (abhängig von der Eclipse-Version) immer wieder vor, dass

  • die Ein- bzw. Ausgabe nicht synchron zur Abarbeitung des entsprechenden Funktionsaufrufes (z. B. scanf(), printf(), putchar()) erfolgt.
  • die Eingabe von EOF (=End Of File) (Ctrl-Z bei Windows bzw. Ctrl-D unter Linux) nicht möglich ist.

Besonders beim Debuggen eines Projektes in C/C++ ist dies ein Problem, wenn Eclipse zur Entwicklung verwendet wird.

Eine Lösung für Eclipse unter Windows ist eine Umleitung der Ein-/Ausgabe in ein echtes Konsolenfenster, da der Windows-GNU-Debugger (gdb) die Möglichkeit besitzt eine Extra-Konsole zu öffnen.

Eclipse besitzt die Möglichkeit nach Starten einer Debug-Sitzung zusätzliche Kommandos an den gdb zu senden.

Leider handelt es sich um eine projektspezifische Einstellung, was bedeutet, dass dieses Vorgehen für jedes Projekt wiederholt werden muss und nicht einmal für alle Projekte festzulegen ist.
Auch ist die Umleitung nur für eine Debug-Sitzung möglich, nicht wenn die ausführbare Datei über Run gestartet wird.

Unter Eclipse für Linux oder Mac-OS ist diese Methode nicht möglich.

Erstellen der gdbinit

Erstellen Sie eine Textdatei deren Inhalt nur aus einer Zeile besteht

Cannot find Geshi class.

und speichern diese Datei in Ihrem Heimatverzeichnis oder -laufwerk unter dem Namen gdbinit ab.

Die Datei können Sie sich auch hier (rechte Maustaste -> Ziel speichern unter ...) herunterladen.

Aktivieren der gdbinit für die Debug-Sitzung

Starten Sie nun zuerst eine Debug-Sitzung für Ihr aktuelles Projekt und
wählen den Menüpunkt Run -> Debug Configurations ... aus:
debug-configurations1.png

In der nun aktivierten Dialogbox wählen Sie für die aktuelle Debugkonfiguration (1) den Reiter Debugger (2), wählen für das GDB command file die zuvor gesicherte Datei gdbinit und sichern die Einstellung mit Apply (4).
debug-configurations2.png

Schließen Sie nun die Dialogbox mit Close und beenden Sie die aktuelle Debug-Sitzung.

Wenn Sie nun eine neue Debug-Sitzung starten werden die Ein-/Ausgaben Ihres Projekts in einer Extra-Konsole (die sich ggf. hinter dem Fenster der IDE versteckt) ausgeführt.
debug-output.png