我一直在尝试使用Eclipse CDT做一些c示例,我可以使用run命令运行它们,但每当我尝试调试时,控制台窗口冻结,我能够输入,但程序没有继续 .
当我调试时,我在控制台窗口上得到以下输出(没有断点,但由于默认设置,主要中断):
Hello, world
put your name: 15^running
继续按钮被禁用,当我输入内容并按回车键时,它不会执行任何操作 . 15是随机数,有时是16,20等 .
如果我在eclipse下运行程序,我得到输入提示就好了:
Hello, world
put your name: test
Hello test
这是我尝试调试的代码:
#include <iostream>
#include <string>
int main() {
std::cout << "Hello, world" << std::endl;
std::string name;
std::cout << "put your name: ";
std::cin >> name;
std::cout << "Hello " + name << std::endl;
return 0;
}
我的路径var:C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\WBEM;C:\Program Files\Java\jdk1.6.0_14\bin;C:\MinGW\bin
Eclipse版本:Helios Service Release 2
CDT版本:7.0.2
操作系统:windows xp
GDB版本:GNU gdb(GDB)7.2
如何在CDT下调试这个小例子而没有问题?
3 回答
15^running
从gdb的Machine Interface看起来是结果记录 . 通常它不应出现在Eclipse控制台中 .我建议尝试使用其他Create Process Launcher . 它可以通过以下方式更改:
在主菜单中选择“运行” - >“调试配置...” .
在打开的“调试配置”窗口中,单击“使用GDB(DSF)创建处理启动器”对话框中的“选择其他...” .
使用标准创建过程启动器,我能够调试您的程序,虽然“输入您的名字:”仅在我输入内容后打印并按Enter键,因为输出流未刷新 .
试着看看这个http://www.cprogramming.com/gdbtutorial.html,看看是否有帮助 . 就像你可以按CTRL-C打破?
尽管与苹果有关,Cannot enter input with gdb. Help!也可能是指针 .
以下内容来自Eclipse网站的FAQ:
http://wiki.eclipse.org/CDT/User/FAQ#Eclipse_console_does_not_show_output_on_Windows
看起来像是Windows上的预期错误 .