当我的应用程序在 iPhone 上运行时,我遇到间歇性崩溃。所有崩溃都是相同的,并且以某种方式涉及 MKMapView Overlays (MKCircleViews)。
来自典型的 iPhone 4s 崩溃报告:
报告标题:
Hardware Model: iPhone4,1
Process: EL-GPS-01 [1021]
Path: /var/mobile/Applications/61288E15-74B5-45B9-99A9-E0B58C767816/EL-GPS-01.app/EL-GPS-01
Identifier: EL-GPS-01
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2011-11-22 15:59:41.065 +0000
OS Version: iPhone OS 5.0.1 (9A405)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000
Crashed Thread: 6
和崩溃的线程:
Thread 6 name: Dispatch queue: com.apple.root.default-priority
Thread 6 Crashed:
0 ??? 0000000000 0 + 0
1 CoreGraphics 0x319a87c2 0x31967000 + 268226
2 CoreGraphics 0x3199a9e6 0x31967000 + 211430
3 MapKit 0x37ec3564 0x37e6f000 + 345444
4 MapKit 0x37ec3652 0x37e6f000 + 345682
5 MapKit 0x37ecc0a4 0x37e6f000 + 381092
6 QuartzCore 0x3341be18 0x33410000 + 48664
7 QuartzCore 0x334d77e0 0x33410000 + 817120
8 QuartzCore 0x3346af24 0x33410000 + 372516
9 libdispatch.dylib 0x3797e892 0x3797b000 + 14482
10 libsystem_c.dylib 0x360e31ca 0x360d9000 + 41418
11 libsystem_c.dylib 0x360e30a0 0x360d9000 + 41120
当我的 iPhone 连接到笔记本电脑时应用程序崩溃时,我会在输出面板中看到以下内容:
warning: check_safe_call: could not restore current frame
warning: Unable to restore previously selected frame.
调试器什么也没给我,问题导航器显示崩溃的线程,堆栈上什么也没有。
有一个非常简单的项目强调了这里的问题:
https://github.com/1ndivisible/MKOverlayBug https://github.com/1ndivisible/MKOverlayBug
[电子邮件受保护]:1ndivisible/MKOverlayBug.git http://git@github.com:1ndivisible/MKOverlayBug.git
我不知道如何解决这个问题。这里有我可以使用的信息吗?看来崩溃源于框架的深处。