2017-04-10 28 views
1

当我用从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命令最后发射序列:记录错误消息从调试器后端:处理记录:当前体系结构不支持记录功能。过程记录:当前体系结构不支持记录功能。

回答

0

可惜当时我只是想启动调试器时出现错误:

错误在最后发射程序无法执行MI命令:记录错误消息从调试器后端:过程记录:当前架构没有按不支持记录功能。过程记录:当前体系结构不支持记录功能。

这听起来像是你遇到了bug in Eclipse Neon

的错误是固定在Neon.1更新。如果你download the latest version of Eclipse(在撰写本文时为霓虹3),它将包含修复程序。

+0

不幸的是吧 - 已经运行neon.3。刚刚上周六下载了它。 CDT版本是9.2.1 – GuitarGirl

+0

@GuitarGirl:有趣。我会鼓励你[提交错误报告](https://bugs.eclipse.org/bugs/enter_bug.cgi?product=CDT&component=cdt-debug)。 – HighCommander4

相关问题