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

GDB多线程调试

2013年09月20日 ⁄ 综合 ⁄ 共 378字 ⁄ 字号 评论关闭

    由于项目比较复杂,一个后台程序,一起来就会有10个线程,在运行过程中还会create新的线程,而且还有很多实时信号来不断的骚扰。现在简单总结如下:

进入gdb后设置:

 

//作用是禁止gdb处理某种信号。因为当程序收到信号时,gdb就会被中断,所以为了避免被消耗感染必须禁止。
handle SIG127 nostop noprint pass 

//让gdb对新创建的线程有效,否则会出现 Cannot get thread event message: debugger service failed
set follow-fork-mode child              

设置完断点并且gdb已经停在断点位置后设置,否则出现Target 'None' cannot support this command.
//把gdb固定在当前线程

set scheduler-locking on   

抱歉!评论已关闭.