奇怪的 iPhone 应用程序在 iOS 5 上崩溃
我的应用程序出现了非常奇怪且频繁的崩溃,我认为在更新到 iOS 5 之前运行良好(但我对此不是 100% 确定)。基本上,当我离开应用程序(按主页按钮)然后返回时,经常会发生崩溃。它并不总是崩溃,但经常崩溃。
有人遇到类似的崩溃吗?
我的 TestFlight 报告报告“SIGSEGV,未知信号”。
当我查看手机日志时,它说:
0 ****** 0x000e7745 Vingit + 943941
1 ****** 0x000e7b5b Vingit + 944987
2 libsystem_c.dylib 0x36970539 _sigtramp + 48
3 QuartzCore 0x32843875 _ZN2CA5Layer16commit_if_neededEPNS_11TransactionEPFvPS0_jjPvES4_ +216
4 QuartzCore 0x32843875 _ZN2CA5Layer16commit_if_neededEPNS_11TransactionEPFvPS0_jjPvES4_ +216
5 QuartzCore 0x3284773b _ZN2CA7Context11commit_rootEPNS_5LayerEPv + 34
6 QuartzCore 0x32847717 _ZN2CAL16foreach_callbackEPNS_5LayerES1_Pv + 18
7 QuartzCore 0x328476ed x_hash_table_foreach + 44
8 QuartzCore 0x328476bd _ZN2CA11Transaction12foreach_rootEPFvPNS_5LayerEPvES3_ + 32
9 QuartzCore 0x32841455 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 1052
10 QuartzCore 0x32840e57 _ZN2CA11Transaction6commitEv + 314
11 QuartzCore 0x328686f1 _ZN2CA11Transaction5flushEv + 44
12 QuartzCore 0x328686c3 +[CATransaction flush] + 34
13 UIKit 0x33168bad -[UIApplication _reportAppLaunchFinished] + 40
14 UIKit 0x33200387 -[UIApplication _handleApplicationResumeEvent:] + 1618
15 UIKit 0x33124961 -[UIApplication handleEvent:withNewEvent:] + 1080
16 UIKit 0x331243bf -[UIApplication sendEvent:] + 54
17 UIKit 0x33123d2d _UIApplicationHandleEvent + 5808
18 GraphicsServices 0x33d0fe13 PurpleEventCallback + 882
19 CoreFoundation 0x3115e553 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 38
20 CoreFoundation 0x3115e4f5 __CFRunLoopDoSource1 + 140
21 CoreFoundation 0x3115d343 __CFRunLoopRun + 1370
22 CoreFoundation 0x310e04dd CFRunLoopRunSpecific + 300
23 CoreFoundation 0x310e03a5 CFRunLoopRunInMode + 104
24 GraphicsServices 0x33d0efed GSEventRunModal + 156
25 UIKit 0x33152743 UIApplicationMain + 1090
26 ****** 0x00002dc3 main (main.m:14)
27 ****** 0x00002d6c Vingit + 7532
I'm getting really strange and frequent crashes in my app that I think was working fine before I updated to iOS 5 (but I'm not 100% sure about this). Basically, the crashes frequently occur when I leave the app (press home button) and come back. It does not always crash, but frequently.
Anyone get similar crashes?
My TestFlight report reports "SIGSEGV, Unknown Signal".
When I look in my phone logs, it says:
0 ****** 0x000e7745 Vingit + 943941
1 ****** 0x000e7b5b Vingit + 944987
2 libsystem_c.dylib 0x36970539 _sigtramp + 48
3 QuartzCore 0x32843875 _ZN2CA5Layer16commit_if_neededEPNS_11TransactionEPFvPS0_jjPvES4_ +216
4 QuartzCore 0x32843875 _ZN2CA5Layer16commit_if_neededEPNS_11TransactionEPFvPS0_jjPvES4_ +216
5 QuartzCore 0x3284773b _ZN2CA7Context11commit_rootEPNS_5LayerEPv + 34
6 QuartzCore 0x32847717 _ZN2CAL16foreach_callbackEPNS_5LayerES1_Pv + 18
7 QuartzCore 0x328476ed x_hash_table_foreach + 44
8 QuartzCore 0x328476bd _ZN2CA11Transaction12foreach_rootEPFvPNS_5LayerEPvES3_ + 32
9 QuartzCore 0x32841455 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 1052
10 QuartzCore 0x32840e57 _ZN2CA11Transaction6commitEv + 314
11 QuartzCore 0x328686f1 _ZN2CA11Transaction5flushEv + 44
12 QuartzCore 0x328686c3 +[CATransaction flush] + 34
13 UIKit 0x33168bad -[UIApplication _reportAppLaunchFinished] + 40
14 UIKit 0x33200387 -[UIApplication _handleApplicationResumeEvent:] + 1618
15 UIKit 0x33124961 -[UIApplication handleEvent:withNewEvent:] + 1080
16 UIKit 0x331243bf -[UIApplication sendEvent:] + 54
17 UIKit 0x33123d2d _UIApplicationHandleEvent + 5808
18 GraphicsServices 0x33d0fe13 PurpleEventCallback + 882
19 CoreFoundation 0x3115e553 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 38
20 CoreFoundation 0x3115e4f5 __CFRunLoopDoSource1 + 140
21 CoreFoundation 0x3115d343 __CFRunLoopRun + 1370
22 CoreFoundation 0x310e04dd CFRunLoopRunSpecific + 300
23 CoreFoundation 0x310e03a5 CFRunLoopRunInMode + 104
24 GraphicsServices 0x33d0efed GSEventRunModal + 156
25 UIKit 0x33152743 UIApplicationMain + 1090
26 ****** 0x00002dc3 main (main.m:14)
27 ****** 0x00002d6c Vingit + 7532
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要先对崩溃日志进行符号化,然后它才有意义。为了成功,您将需要 Xcode 中的构建过程生成的完全相同相同的二进制文件和 dSYM 文件。确保这一点的一种方法是在要通过 TestFlight 等分发给 Beta 测试人员的版本上使用存档功能。
如果您已经这样做了,那么只需在 Xcode 中打开崩溃日志即可,它会自动为您找到正确的二进制文件和 dSYM 文件,并将代码中的偏移地址转换为方法名称。希望这能让您更接近代码中崩溃的区域。
You will need to symbolicate your crash log before it makes much sense. In order for this to succeed you will need the exact same binary and dSYM file generated by the build process in Xcode. One way of ensuring this is to use the archive feature on the builds you are going to distribute to your beta testers through for instance TestFlight.
If you have done this then it should just be a matter of opening the crash log in Xcode and it will automatically locate the correct binary and dSYM file for you and convert the offset addresses in your code into method names. Hopefully that will bring you closer to the area in your code where it crashes.