2017-04-10 1 views
1

Ich habe Probleme beim Debuggen von C++ mit Eingabe von cin und/oder getline. Es funktioniert perfekt, wenn ich laufe statt debuggen. Ich benutze Eclipse Neon CDT in Windows 8.1 mit MinGW Compiler/Debugger (64bit). Ausführen eines Beispielprogramm, um das Problem zu isolieren, die getline für die Eingabe verwendet und extrahiert das erste Zeichen zum Vergleich:Programmeingabe (cin oder getline) wird beim Ausführen korrekt eingelesen, aber nicht beim Debugging

while (true) { 
    cout << "Enter x to exit: "; 
    getline(cin, input); 
    myChar = input[0]; 
    if (myChar=='x') { 
    break; 
    } 

    cout << "You entered: " <<myChar<<endl; 
} 
cout <<"Exiting..."<<endl; 

Wenn ich es laufen - es perfekt funktioniert. Wenn ich jedoch versuche, zu debuggen, wartet es entweder a) nicht auf die Eingabe und macht es selbst, oder b) ignoriert meine Eingabe und macht sie selbst aus. Ich habe beide gesehen, wenn ich in verschiedenen Projekten experimentiere.

Ich dachte, vielleicht musste ich sicherstellen, dass es Zeichen als UTF-8 gelesen hat. Aber die Einstellungen, die ich gefunden habe, scheinen für den Texteditor oder die Textdateien zu sein (Fenster-> Einstellungen-> Allgemein-> Arbeitsbereich) ... nicht die Konsole.

ich gelesen, dass es manchmal Probleme mit der Konsole Eingang und versuchte, mit nativen Windows-Konsole anstelle der IDE integriert man wie hier beschrieben: http://nicolas.riousset.com/eclipse-how-to-debug-a-c-console-application-using-a-native-dos-console-instead-of-the-ide-integrated-one/

Leider dann bekomme ich nur einen Fehler beim Versuch, den Debugger zu starten:

Fehler in der letzten Startsequenz Fehler beim Ausführen des MI-Befehls: Datensatz Fehlermeldung vom Debugger-Back-End: Prozessdatensatz: Die aktuelle Architektur unterstützt keine Datensatzfunktion. Prozessaufzeichnung: Die aktuelle Architektur unterstützt keine Aufzeichnungsfunktion.

Antwort

0

Leider dann bekomme ich nur einen Fehler beim Versuch, den Debugger zu starten:

Fehler in der endgültigen Startsequenz fehlgeschlagen MI Befehl auszuführen: record Fehlermeldung vom Debugger Backend: Prozess Datensatz: Die aktuelle Architektur Doesn Aufnahmefunktion nicht unterstützen. Prozessaufzeichnung: Die aktuelle Architektur unterstützt keine Aufzeichnungsfunktion.

Es klingt wie Sie in eine bug in Eclipse Neon laufen.

Der Fehler wurde im Update von Neon.1 behoben. Wenn Sie download the latest version of Eclipse (Neon.3 zum Zeitpunkt des Schreibens dieses), wird es die Lösung enthalten.

+0

Leider ist das nicht - schon läuft neon.3. Ich habe es gerade letzten Samstag heruntergeladen. Die CDT-Version ist 9.2.1 – GuitarGirl

+0

@GuitarGirl: Interessant. Ich würde Sie ermutigen, [einen Fehlerbericht zu erstellen] (https://bugs.eclipse.org/bugs/enter_bug.cgi?product=CDT&component=cdt-debug). – HighCommander4

Verwandte Themen