5.2.20
04/01/20

Diff for EclipseRedirect between 4 and 5

[[toc]]
+ 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
<geshi type="text">set<code>set new-console on
</geshi>
</code>
und speichern diese Datei in Ihrem Heimatverzeichnis oder -laufwerk unter dem Namen **gdbinit** ab.

Die Datei können Sie sich auch [http://pc01-lsw.ee.hm.edu/~tasin/vorlesung_algdat/gdbinit 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:
[[image 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)**.
[[image 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.
[[image debug-output.png]]