在我的使用场景中,我在Mac上有GDB调试劣质X.一个单独的进程Y继续快速连续发送SIGTRAP到X(使用kill(pid,SIGTRAP)),这应该由GDB捕获和处理
GDB的Mac版本有一个等待进程X的异常端口的线程。当Y向X发送信号时,它会在X的异常端口上显示异常消息(使用内核的“softsignals”)特征
我遇到的问题是,现在每个人都会在X的异常端口上收到相应的异常消息,即使Y发送信号到X.
我尝试使用dtrace来确保内核看到发送的信号,但是我做错了,dtrace没有为任何进程显示任何内容:
sudo dtrace -n 'proc:::signal-send /pid/ { printf("%s -%d %d",execname,args[2],args[1]->pr_pid); }'
...没有显示Y向X发送任何sigtraps,即使GDB处理它们。
提前致谢!