Macos 为Mac OS X安装未处理的异常筛选器

Macos 为Mac OS X安装未处理的异常筛选器,macos,exception-handling,Macos,Exception Handling,Windows已设置UnhandledExceptionFilter API以使应用程序能够处理崩溃。 Mac平台是否也有类似的功能?我在developer.apple.com上找不到类似的东西 谢谢 看看它是如何工作的。请注意,这是一种真正邪恶的黑客行为。与可可粉/基金会相当的功能。您还应该查看Cocoa异常处理指南的一节。它将解释当NSApplication对象希望异常终止时,您可以对应用程序进行一些默认更改,以使其执行特定的预定义操作。谢谢,但我并不是真的希望通过第三方将崩溃发送给我。我只

Windows已设置UnhandledExceptionFilter API以使应用程序能够处理崩溃。 Mac平台是否也有类似的功能?我在developer.apple.com上找不到类似的东西


谢谢

看看它是如何工作的。请注意,这是一种真正邪恶的黑客行为。

与可可粉/基金会相当的功能。您还应该查看Cocoa异常处理指南的一节。它将解释当NSApplication对象希望异常终止时,您可以对应用程序进行一些默认更改,以使其执行特定的预定义操作。

谢谢,但我并不是真的希望通过第三方将崩溃发送给我。我只需要提供我自己的EH,在那里我可以做我感兴趣的事情,所以类似于SetUnhandledExceptionFilter for Windows.Hmmm。。。这看起来很有希望,只是它不会真正起作用。这里是我拥有的:全局函数:void GlobalFilter(NSException*peexception){//do something}在post-app init代码中:NSSetUncaughtExceptionHandler(&GlobalFilter);为了进行测试,我编写了一个这样做的方法:wstring foo=NULL;foo->size();我的程序崩溃,但我的处理程序从未被调用。。。你知道为什么这可能不起作用,或者我做错了什么吗?是的,你的程序没有生成异常,而是生成了一个总线错误。标准的信号处理程序基本上会在CrashReporter目录中创建一个文件。为了做其他事情,您必须为SIGSEGV和SIGBUS安装一个新的信号处理程序。请参阅信号手册页(2),了解更多信息。NSSetUncaughtExceptionHandler()在未捕获的Objective-C异常终止应用程序时提供帮助。明白了。。。谢谢我想我真的应该添加这两种类型的处理程序。谢谢