在Mac OS X上使用gdb进行调试时出现“丢失”的sigtrap

时间:2011-08-18 18:21:05

标签: macos gdb

在我的使用场景中,我在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处理它们。

提前致谢!

0 个答案:

没有答案