在Linux ubuntu14.04上无法在cgdb中输入

Cannot enter input in cgdb on Linux Ubuntu 14.04

本文关键字:cgdb 输入 Linux ubuntu14      更新时间:2023-10-16

这是我非常简单的程序,我试图用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"。