XCode 6.3立即在抛出的Objective-C异常上引发SIGABRT

XCode 6.3立即在抛出的Objective-C异常上引发SIGABRT,第1张

概述考虑以下目标-C代码 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ try { throw std::logic_error("error message"); } 考虑以下目标-C代码
- (BOol)application:(UIApplication *)application        dIDFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    try    {        throw std::logic_error("error message");    }    catch (const std::exception& ex)    {        NSLog(@"%s",ex.what());    }    return YES;}

在XCode 6.2中,它按预期工作(记录“错误消息”).但是,由于我们升级到6.3,抛出行(throw std :: logic_error …)引发SIGABRT(堆栈跟踪仅包含_cxa_throw和_pthread_kill,超出applicationdIDFinishLaunchingWithOptions)并导致应用程序崩溃.

这只发生在我们的应用程序中 – 当我将完全相同的代码复制到新项目时,一切都运行良好,即使使用相同的编译器标志.

我已经尝试指定-fexceptions和-fnon-call-exceptions无效(相同的行为).

更新
这似乎只发生在32位模拟器上(它适用于实际设备和64位模拟器).

更新2
我们将其缩小到UserVoice iOS SDK.行为清楚地显示在一个新的vanilla项目中,只需链接它(确保调用某个方法以便进行链接).我们还没有调查该库中究竟是什么导致了它,我们还有一些内部库引发相同的行为(但它们应该与微软以外的任何人无关).

解决方法 我发现6.3充满了严重的错误.升级到6.3.2似乎解决了我的所有问题.试一试. 总结

以上是内存溢出为你收集整理的XCode 6.3立即在抛出的Objective-C异常上引发SIGABRT全部内容,希望文章能够帮你解决XCode 6.3立即在抛出的Objective-C异常上引发SIGABRT所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1099889.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存