当我用从CIN和/或函数getline输入麻烦试图调试C++时读取正确的。当我运行而不是调试时它工作正常。我使用MinGW编译器/调试器(64位)在Windows 8.1中使用Eclipse neon CDT。运行示例程序隔离使用函数getline用于输入和提取的第一个字符进行比较的问题:程序输入(CIN或函数getline)运行,但不进行调试
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;
当我运行它 - 它完美的作品。然而,当我尝试调试,它要么a)不等待输入,弥补了它自己的,或b)忽略了我的输入,并弥补了它自己。在不同的项目中进行实验时,我已经看到了这两种情况。
我想,也许我需要确保它在读字符为UTF-8。但我发现的设置似乎是为文本编辑器或文本文件(窗口 - >首选项 - >常规 - >工作区)...而不是控制台。
,我读了有时对于控制台输入问题和使用本地Windows控制台,而不是IDE集成一个如这里所描述的尝试: http://nicolas.riousset.com/eclipse-how-to-debug-a-c-console-application-using-a-native-dos-console-instead-of-the-ide-integrated-one/
不幸的是后来我试图启动调试器时,只是得到一个错误:
错误未能执行MI命令最后发射序列:记录错误消息从调试器后端:处理记录:当前体系结构不支持记录功能。过程记录:当前体系结构不支持记录功能。
不幸的是吧 - 已经运行neon.3。刚刚上周六下载了它。 CDT版本是9.2.1 – GuitarGirl
@GuitarGirl:有趣。我会鼓励你[提交错误报告](https://bugs.eclipse.org/bugs/enter_bug.cgi?product=CDT&component=cdt-debug)。 – HighCommander4