【发布时间】:2012-11-20 04:30:18
【问题描述】:
我将 Eclipse CDT 与 Cygwin 一起使用。我有一个用 Eclipse 编译的基本 Hello World 程序。当我手动启动 .exe 时,它工作正常。
当我在 Eclipse 中点击调试按钮时,它会一直运行到第一个 cin。我输入一个响应,按回车,没有任何反应。我可以继续输入回复,而且永远不会超过那条线。
如果我随后切换到 gdb 控制台并键入任何内容并按回车键,它最终会从 cin 调用返回,并带有我输入的第一个字符串,并一直运行到下一个提示,程序终止。
以前,它似乎在做一些奇怪的事情,比如从 gdb 控制台读取字符串。
如果我放
set new-console on
在 GDB 命令文件中(在 Debug Configurations -> Debugger 下),它会打开一个新的控制台并完美运行。我只是好奇我在做什么会导致其他问题,因为这种解决方法并不理想。
【问题讨论】:
-
感谢您提供“设置新控制台”的指针!!!我在 eclipse 和 cygwin 中遇到了类似的问题,我的代码使用 unistd.h 函数“write”,文件描述符为“/dev/console”。这在系统 shell 中可以正常工作,但在 Eclipse 控制台中却不行。
标签: gdb eclipse-cdt