无法在Linux Ubuntu 14.04上的cgdb中输入输入

时间:2015-09-22 02:05:26

标签: c++ cgdb

这是我尝试使用cgdb调试的非常简单的程序。问题是我进入" scanf"它会提示输入,但是一旦我输入输入后按Enter键(下例中的2),它似乎进入一个无限循环。它虽然在gdb中工作正常。

#include <cstdio>
using namespace std;

int main()
{
    int n;
    scanf("%d", &n);
    printf("%d\n", n);
    return 0;
}

这是终端中的执行跟踪:

键入&#34; apropos word&#34;搜索与&#34; word&#34;相关的命令... 从测试中读取符号......完成。

(gdb)开始

0x400585处的临时断点1:文件test.cpp,第7行。 启动程序:/ home / Alex / Desktop / test

临时断点1,test.cpp上的main():7

(gdb)next

2(这是我的输入)

无限循环从这里开始。

1 个答案:

答案 0 :(得分:1)

根据cgdb的信息页面,你需要:

  • 在一个终端上启动程序,并使用另一个终端的CGDB附加到该终端
  • 或使用tty窗口传递参数

要调用tty窗口,请点击&#39; T&#39;在命令模式(逃脱)

从信息页面中提取:

  

将I / O发送到正在调试的程序

     

这种技术类似于进入和退出&#34; GDB模式&#34;。 tty窗口不是   默认可见。这是因为只有用户才需要它   希望将数据发送到正在调试的程序。显示tty   窗口,点击“T&#39;在命令模式下。