首页 > 其他分享 >gdb + gdbserver调试时,无法使用Ctrl+C暂停调试的问题

gdb + gdbserver调试时,无法使用Ctrl+C暂停调试的问题

时间:2023-08-17 19:24:48浏览次数:34  
标签:Ctrl gdbserver gdb https 断点 调试

使用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 这里的方式处理。

标签:Ctrl,gdbserver,gdb,https,断点,调试
From: https://www.cnblogs.com/thammer/p/17638622.html

相关文章

  • 远程调试&线程检查&性能检查
    vs2022的一些调试技巧——远程调试&线程检查&性能检查visualstudio一直都是.net/c#开发人员最受欢迎的编译器,除了强大的代码提示和项目模板,还拥有大量的调试工具,这一期我们介绍下codefreeze阶段的一些调试技巧。包括测试环境/生产环境下的远程调试,线程调试,以及性能监控调试。......
  • keil程序调试,malloc 不成功
    what程序里申请了,300k空间,但是malloc返回值一直是NULLwhymalloc申请的是堆空间,系统启动.S文件中设置的堆空间大小最多8k,申请的空间大小超过了实际空间大小,故申请失败 KEIL使用malloc函数申请堆空间失败的解决方法_keilmalloc失败_小刘同学啊的博客-CSDN博客......
  • 输入法总是自动切换到中文 代码调试很不方便
    系统win10,第三方输入法。运行完单元后,鼠标点击单元,输入法会自动切换为默认的中文。如果把输入法默认调整为英文,对日常使用又很不方便。而且中文输入法的中英文切换没有组合键,只能ctrl或shift切换,不仅跟Jupter的快捷键冲突,写代码时按shift是为了临时大写,也经常会按成中文。解决方......
  • SkyEye操作指南:连接TI CCS的IDE调试
    现代电力电子控制系统的开发中,DSP芯片以其优越的运算性能在控制算法领域得到越来越广泛的应用。传统的DSP开发过程往往需要在完成控制系统仿真与程序设计后,才能根据比对结果进行程序修改,全过程还需要硬件电路工程师的配合,开发效率低下,灵活性差。为了快速验证控制算法,使仿真与开发......
  • k1s 使用 nsenter 轻松实现调试 k8s 集群节点
    调试宿主机如果您的集群无外网,则无法下载基础镜像,需要设置内网镜像exportK1S_IMAGE="hub.local.io/alpine:lateset"基础操作命令:#查看node列表k1snoNAMESTATUSROLESAGEVERSION192.168.1.100Readygpu......
  • VS Code调试Python相关的问题
    VSCode启动Debug模式调试带参数的python文件:https://blog.csdn.net/weixin_39329055/article/details/119530587单步调试进入外部文件:launch.json中写入以下:{//使用IntelliSense了解相关属性。//悬停以查看现有属性的描述。//欲了解更多信息,请访问:......
  • 调试 汇总
    1:单步可以而全速运行不行的情况一般出现在时序上,通过加入一小段延时,问题得以解决。而printf往往是一个需要阻塞运行很久的一个函数2:提示警告castincreaserequiredalignmentoftargettype,解决方法为类型强转前加(void*) 比如udp_fakehead=(structudp_fakehead*)(v......
  • keil5 调试
    入口复位全速运行先鼠标左键选中一行,然后点击就可以跳转到那一行点击左侧灰色地带会生成断点,然后点击全速运行会到这个断点 查看动态参数 外设资源栏,可以看外设寄存器  点击运行,就可以实实查看寄存器的值,同时连接的控制板上也可以出现相应的现象 ......
  • IDEA远程调试
    远程调试是一项重要的技术,特别是对于使用IDEA开发的开发者来说。在本篇技术博客中,我们将探讨如何使用IDEA进行远程调试。 1IDEA配置首先,我们需要确保我们的开发环境已经准备就绪。我们需要在远程服务器上安装并配置好调试器,如GDB或LLDB。我们还需要在本地计算机上安装IDEA,并......
  • VsCode中ctrl+s保存后会在当前目录下自动生成dist目录
    在VsCode中ctrl+s后会在当前目录下自动生成dist目录解决办法:关闭compile-hero插件在设置中搜索compile-hero插件网址:yii666.com<关闭所有自动生成dist目录的选项(如下图所示)   ......