现在的位置: 首页 > 综合 > 正文

gdb中的信号处理

2013年10月11日 ⁄ 综合 ⁄ 共 593字 ⁄ 字号 评论关闭

info signals 可以查看当前一些信号的处理方式
   nostop
    当被调试的程序收到信号时,GDB不会停住程序的运行,但会打出消息告诉你收到这种信号。
    stop
    当被调试的程序收到信号时,GDB会停住你的程序。
    print
    当被调试的程序收到信号时,GDB会显示出一条信息。
    noprint
    当被调试的程序收到信号时,GDB不会告诉你收到信号的信息。
    pass
    noignore
    当被调试的程序收到信号时,GDB不处理信号。这表示,GDB会把这个信号交给被调试程序会处理。
    nopass
    ignore
    当被调试的程序收到信号时,GDB不会让被调试程序来处理这个信号。
    
    info handle
    查看有哪些信号在被GDB检测中。
 
比如要忽略SIGSEGV, 按如下设置, 调试时将不会受信号干扰
(gdb) handle SIGSEGV
Signal        Stop      Print   Pass to program Description
SIGSEGV       No        Yes     Yes             Segmentation fault
(gdb) handle SIGSEGV noprint
Signal        Stop      Print   Pass to program Description
SIGSEGV       No        No      Yes             Segmentation fault

抱歉!评论已关闭.