为什么 GDB 会阻止信号

问题描述

我使用 gdb 在 linux 中调试多线程程序。特别是,线程设置使用实时事件的计时器。使用这些实时信号通知定时器回调以获得中断。当我使用 gdb 启动我的程序时,无法通知那些计时器回调并且无法接收实时事件信号。

我应该命令gdb终端,例如“处理SIG34 pass”等(信号标签可能会根据哪个定时器使用哪个信号进行中断而改变)。到这里一切都好。

但我试图理解的一点是,如果我不命令“处理 SIG34 通过”,那么回调通知将不起作用。 GDB shell 也不会从这些信号中获得任何中断。在那种情况下,什么会消耗这些信号。在这种情况下,是什么抓住了这些信号?为什么我必须说 GDB“好吧,不要打扰那些信号保持冷静”?!为什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)