在Linux ubuntu14.04上无法在cgdb中输入
Cannot enter input in cgdb on Linux Ubuntu 14.04
这是我非常简单的程序,我试图用cgdb调试。问题是,一旦我到达"scanf"行,它提示输入,但是一旦我在输入后按enter键(在下面的例子中为2),它似乎进入了一个无限循环。但它在gdb中工作得很好。
#include <cstdio>
using namespace std;
int main()
{
int n;
scanf("%d", &n);
printf("%dn", n);
return 0;
}
下面是终端中的执行轨迹:
输入"appropos word"搜索与"word"相关的命令…从test中读取符号完成
(gdb)开始临时断点1在0x400585:文件test.cpp,第7行。启动程序:/home/alex/desktop/test临时断点1,main()在test.cpp:7
(gdb)
2(这是我的输入)
无限循环从这里开始
根据cgdb的信息页面,您需要:
- 在一个终端上启动程序,并从另一个终端用CGDB附加到该程序上
- 或使用tty窗口 传递参数
要调用tty窗口,在命令模式下按'T'(转义)
摘自信息页:
向正在调试的程序发送I/O
该技术类似于进入和退出"GDB模式"。tty窗口不是默认是可见的。这是因为只有当用户希望向正在调试的程序发送数据。要显示tty窗口,在命令模式下按"T"。
相关文章:
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 2D数组来自文本输入,中间有空格
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 检查输入是否不是整数或数字
- 正在尝试了解输入验证循环
- 读取文件并输入到矢量中
- C++如何通过用户输入删除列表元素
- 用c++从输入文件中读取另一行
- 读取文件的最后一行并输入到链接列表时出错
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何使用用户输入在C++中正确填充2D数组
- C++MySQL C api用户输入行
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- 用户定义函数中的指针和输入
- 如何在C++中检查2D数组中负值的输入验证
- 如何只允许用户输入正整数
- 在while循环中输入带有std::cin的字符串后,控制台会输出大量胡言乱语
- 输入中的字符串数未知(以字母表示)
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 在Linux ubuntu14.04上无法在cgdb中输入