Xcode:GDB和信号处理程序

时间:2011-09-16 22:54:28

标签: xcode gdb signals

我在Objective-C应用程序中使用信号处理程序来捕获致命错误,如SIGSEGVSIGBUS等。

当发出这样的信号时,我正在写一个日志文件,带有回溯和错误的详细信息(我知道我可以有重入问题,但这不是重点)。

这样,我可以在下次启动时知道应用程序已崩溃,我可以询问用户是否要填写错误报告。

我手动启动应用程序时效果很好。

但是当我从Xcode(使用GDB)运行它时,不会调用信号处理程序。

我尝试使用signalsigaction设置它们,但没有区别。

我还检查了info signals这些信号是否设置为pass,这意味着它们应该传递给应用程序。

这不是什么大不了的事,因为我在调试我的应用程序时只遇到了这个问题,但是将它与GDB配合使用会非常好。

有没有人经历过并解决过这样的问题?

1 个答案:

答案 0 :(得分:1)

您可能想尝试将这些信号设置为gdb中的nostop,因此它由您的应用程序管理。