首页 文章

使用gdb调试从stdin读取输入的交互式程序

提问于
浏览
1

我正在用C编写客户端/服务器程序 .

我的客户端有一个从stdin读取输入的线程,它只是一个while(1)循环来读取stdin的输入 . 每当它读取一行时,它就会将它传递给另一个处理消息解析和框架的线程 .

当我输入gdb时,命令行被gdb提示符占用,我无法再将行输入到stdin中 .

有办法吗? (我不想将stdin重定向到输入文件,因为我尝试过这种方法并且它不起作用)

1 回答

  • 5

    在一个终端中运行您的程序,并从另一个终端中的gdb连接到它 .

    要附加到正在运行的程序,请找到要附加到的程序的进程ID(PID),然后执行 gdb <executable> <PID> .

相关问题