Xcode:GDB和信号处理程序

Xcode:GDB和信号处理程序,xcode,gdb,signals,Xcode,Gdb,Signals,我在Objective-C应用程序中使用信号处理程序来捕获致命错误,如SIGSEGV、SIGBUS等等 当发出这样一个信号时,我正在编写一个日志文件,其中包含回溯和有关错误的详细信息(我知道可能存在重入问题,但这不是重点) 这样,我可以在下一次发布时知道应用程序已经崩溃,我可以询问用户是否要填写错误报告 当我手动启动应用程序时,它工作正常 但是当我从Xcode(使用GDB)运行它时,不会调用信号处理程序 我尝试将它们设置为信号或信号动作,但没有区别 我还使用info signals检查了这些信号

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

当发出这样一个信号时,我正在编写一个日志文件,其中包含回溯和有关错误的详细信息(我知道可能存在重入问题,但这不是重点)

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

当我手动启动应用程序时,它工作正常

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

我尝试将它们设置为
信号
信号动作
,但没有区别

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

这没什么大不了的,因为我只是在调试我的应用程序时才遇到这个问题,但如果它也能与GDB一起工作,那将是非常好的


有人遇到并解决过这样的问题吗?

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

您可能希望尝试将这些信号设置为gdb中的nostop,因此它由您的应用程序管理。在问问题之前,我已经尝试过了,但我想我犯了一个错误,因为它不起作用。我今天又试了一次,效果很好。你可以用这个来填写答案,这样我就可以接受了。谢谢:)