我正在开发一个在Mac OS X上的应用程序,它有时会崩溃(这不是因为我的应用程序),而是因为它加载了不稳定的第三方插件。这个应用程序实际上是一个崩溃防火墙;许多崩溃可能发生在启动时,所以不需要在这个时候对用户提出错误。
有没有办法防止崩溃报告窗口在用户面前弹出?
谢谢!
PS:这是关于这个窗口的,但不是针对WebKit:
最佳答案
我不知道有什么真正支持的解决方案,但是有一些(丑陋的)方法可以实现它。
首先,你需要自己捕捉信号。我想你知道怎么做(见sigaction
)。然后在崩溃信号处理程序中,调用_exit()
。前面有一个下划线。这是一个更快、更安全的exit()
版本。这通常会避免撞车记者。我在一些C++项目中使用了这样的FLAKY内存管理,它们经常在关机时崩溃。我并不以此为荣,我只是说它有效……
另一个解决方案是在崩溃处理程序中启动另一个第二个进程。第二个进程等待崩溃记者启动。如果是,就杀了它。我最后一次测试这个方法是10.5。我不知道是否10.7仍然启动相同的过程来显示警报。
关于objective-c - Mac OS X:阻止崩溃报告窗口出现在我的应用中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10553651/