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.
Leider ist das nicht - schon läuft neon.3. Ich habe es gerade letzten Samstag heruntergeladen. Die CDT-Version ist 9.2.1 – GuitarGirl
@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