转自:http://www.cppblog.com/fwxjj/archive/2011/12/06/161621.html

信号(Signals)

信号是一种软中断,是一种处理异步事件的方法。一般来说,操作系统都支持许多信号。尤其是UNIX,比较重要应用程序一般都会处理信号。UNIX定义了许 多信号,比如SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号; SIGKILL表示终止程序运行的信号,等等。信号量编程是UNIX下非常重要的一种技术。

GDB有能力在你调试程序的时候处理任何一种信号,你可以告诉GDB需要处理哪一种信号。你可以要求GDB收到你所指定的信号时,马上停住正在运行的程序,以供你进行调试。你可以用GDB的handle命令来完成这一功能。

handle
在GDB中定义一个信号处理。信号可以以SIG开头或不以 SIG开头,可以用定义一个要处理信号的范围(如:SIGIO-SIGKILL,表示处理从SIGIO信号到SIGKILL的信号,其中包括SIGIO, SIGIOT,SIGKILL三个信号),也可以使用关键字all来标明要处理所有的信号。一旦被调试的程序接收到信号,运行程序马上会被GDB停住,以 供调试。其可以是以下几种关键字的一个或多个。

nostop
当被调试的程序收到信号时,GDB不会停住程序的运行,但会打出消息告诉你收到这种信号。
stop
当被调试的程序收到信号时,GDB会停住你的程序。
print
当被调试的程序收到信号时,GDB会显示出一条信息。
noprint
当被调试的程序收到信号时,GDB不会告诉你收到信号的信息。
pass
noignore
当被调试的程序收到信号时,GDB不处理信号。这表示,GDB会把这个信号交给被调试程序会处理。
nopass
ignore
当被调试的程序收到信号时,GDB不会让被调试程序来处理这个信号。

info signals
info handle
查看有哪些信号在被GDB检测中。

转载于:https://www.cnblogs.com/shiweifu/archive/2012/03/08/2384526.html

gdb中信号的处理[转]相关推荐

  1. 【转贴】gdb中的信号(signal)相关调试技巧

    一篇不错的帖子,讲的是gdb中的信号(signal)相关调试技巧 转自Magic C++论坛  http://www.magicunix.com/index_ch.html  http://www.m ...

  2. gdb中的信号(signal)相关调试技巧

    一篇不错的帖子,讲的是gdb中的信号(signal)相关调试技巧 转自Magic C++论坛 http://www.magicunix.com/index_ch.html http://www.mag ...

  3. 如何在GDB中忽略Signal信号处理

    在使用GDB调试C/C++程序时,如果刚好程序中需要对特殊Signal处理,则在调试这类应用时需要GDB忽略对该Signal的处理.本文来自GBD官方文档的翻译,仅供参考. 信号(Signals) 信 ...

  4. pyqt5中信号与槽的认识

    一.介绍 信号(Signal)和槽(Slot)是Qt中的核心机制,也是PyQt变成中对象之间进行通信的机制 在pyqt5中,每一个QObject对象和pyqt中所有继承自QWidget的控件都支持信号 ...

  5. GDB中应该知道的几个调试方法

     七.八年前写过一篇< 用GDB调试程序>,于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题.这么多年来,有一些问题是大家 ...

  6. 将GDB中的输出定向到文件

    将所有栈信息保存到文件11中          在gdb中:     set logging file 11          set logging on          thread apply ...

  7. linux gdb打印内存命令,gdb中查看内存方法总结

    出自计组第三次上机附加题第二题 用gdb运行程序b,输出中相应地址究竟指向了什么? 请贴上你是如何找到的(使用了什么gdb指令等等) 在查看地址前首先需要断点定位到需要查看的位置 显示代码内容 (gd ...

  8. GDB中应该知道的几个调试方法-转

    七.八年前写过一篇<用GDB调试程序>,于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题.这么多年来,有一些问题是大家反复在问 ...

  9. ArcGIS GDB中要素类不可编辑

    要编辑存储于gdb中的要素类时,提示"no editable layers". 图层警告"check to see that you have the appropria ...

  10. 【通信】盖氏圆盘方法(GDE)计算均匀直线阵(ULA)中信号源个数附matlab代码

    1 简介 信源数估计是空间谱估计中的关键技术,研究符合实际应用环境的稳健的信源数估计方法具有十分重要的现实意义.基于空间谱估计中用于估计信源数的传统盖氏圆盘法,该程序用于计算均匀直线阵(ULA)中信号 ...

最新文章

  1. android 多个应用,Android中一个应用实现多个图标的几种方式
  2. struts2拦截器底层原理
  3. 完全分布式部署Hadoop
  4. 限制oracle数据库表的输出记录条数
  5. Java中实现使用split方法分隔字符串
  6. Sqlserver中查询存储过程是否包含某些文本
  7. PyTorch-常用代码
  8. Leetcode之二叉树(前200道)
  9. Idea 创建 web.xml 文件
  10. 企业数字化转型:构建“感知—思考—响应—反馈优化”闭环
  11. 台大林轩田《机器学习基石》:作业三python实现
  12. stm32毕业设计 太空游戏机设计与实现
  13. 关于php的梗儿_php是世界上最好的语言是什么梗?
  14. HTML——倒计时制作
  15. 计算机软科排名澳门科技大学,2016年软科中国两岸四地大学排名正式发布
  16. 实不相瞒,我做海外TikTok搬运视频一年的收入,可能是你10年的工资
  17. 首次公开,用了三年的 pandas 速查表
  18. Linux的for循环和if判断
  19. DB2 9 独霸开辟(733 磨练)认证指南,第 9 部门: 用户定义的例程(6)
  20. 蔡司镜头的魅力:vivo X60 Pro评测体验

热门文章

  1. java ----一个函数传回多个值的总结
  2. (转)何为人?是为忍!
  3. 小程序的全栈开发新时代
  4. git详细使用教程入门到精通(史上最全的git教程)
  5. Codeforces 988D Points and Powers of Two 【性质】【卡常】
  6. LoadRunner 11安装Micosoft Visual C++ 2005 SP1时提示命令行选项语法错误
  7. 转:VC++获取屏幕大小第一篇 像素大小GetSystemMetrics
  8. 【转】千万级并发实现的秘密:内核不是解决方案,而是问题所在!
  9. ONVIF流媒体播放流程
  10. Thread 编程:简明(1) - 协作式取消 VS 线程终止