下面是我尝试用cgdb调试的非常简单的程序。问题是,一旦我到达"scanf“行,它就会提示输入,但一旦我在输入后按enter (在下面的示例中为2),它似乎进入了一个无限循环。不过,它在gdb中运行得很好。
#include <cstdio>
using namespace std;
int main()
{
int n;
scanf("%d", &n);
printf("%d\n", n);
return 0;
}下面是终端中的执行跟踪:
键入“意外单词”以搜索与“word”相关的命令.从test...done读取符号。
(gdb)开始
0x400585处的临时断点1:文件test.cpp,第7行.启动程序: /home/Alex/Desktop/test
临时断点1,位于test.cpp:7的main ()
(gdb)下一个
2(这是我的输入)
无限循环从这里开始。
发布于 2015-09-22 13:58:14
根据cgdb的信息页,您需要:
若要调用tty窗口,请按命令模式下的“T”(转义)。
摘自信息页:
向正在调试的程序发送I/O 这种技术类似于进出"GDB模式“。默认情况下,tty窗口不可见。这是因为只有当用户希望将数据发送到正在调试的程序时才需要它。若要显示tty窗口,请在命令模式下单击“t”。
https://stackoverflow.com/questions/32707278
复制相似问题