gdb + gdbserver调试时,无法使用Ctrl+C暂停调试的问题
使用gdbserver进行远程调试,跟踪调试板子上的程序时,发现target remote后,想下几个断点,发现ctrl+c无法暂停程序,因此断点也下不了了。只能在连接前,提前下好断点,这明显是恶心的,因为分析问题过程中有随机下断点的需求。但是我记得之前这个程序,在同样的硬件上是可以后期下断点的。google发现有人说是gdbserver bug,其中提到了一个patch https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=78708b7c8ccc2138880217de9bd60eceff683f10. 但是我查看SDK里面gdb的源码,发现是打过这个bug后的样子。另一个地方 https://bugzilla.kernel.org/show_bug.cgi?id=9039 提到 https://github.com/fairyfar/gdb_sigwait 如果应用程序捕获了一些信号,例如SIGINT,会导致gdb的Ctrl+C动作不起作用,Ctrl+C正是发送SIGINT信号的。于是查看我的应用代码,发现我后来确实添加SIGINT的信号处理函数,注释之,问题解决。也可以按照 https://github.com/fairyfar/gdb_sigwait 这里的方式处理。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2020-08-17 clion2020.2 安装 IntelliJ-EmmyLua 插件后崩溃
2019-08-17 linux 线程优先级