【发布时间】:2012-02-22 23:40:39
【问题描述】:
我的 iOS 应用在运行 10 分钟后出现崩溃:
Date/Time: 2012-02-22 15:26:41.415 -0800
OS Version: iPhone OS 5.0.1 (9A405)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x49980286
Crashed Thread: 6
有问题的线程:
Thread 6 name: Dispatch queue: com.apple.locationd.registration.xpcq
Thread 6 Crashed:
0 libstdc++.6.dylib 0x33ed32f8 std::string::compare(std::string const&) const + 8
1 CoreLocation 0x3095ad54 std::_Rb_tree<std::string, std::pair<std::string const, void ( block_pointer)(CLConnectionMessage*)>, std::_Select1st<std::pair<std::string const, void ( block_pointer)(CLConnectionMessage*)> >, std::less<std::string>, std::allocator<std::pair<std::string const, void ( block_pointer)(CLConnectionMessage*)> > >::find(std::string const&) + 32
2 CoreLocation 0x30959964 CLConnection::handleMessage(CLConnectionMessage*) + 16
3 CoreLocation 0x3095a78c __setEventHandler_block_invoke_0 + 360
4 libxpc.dylib 0x37a428c2 __XPC_CONNECTION_EVENT_HANDLER_CALLOUT__ + 30
5 libxpc.dylib 0x37a3bd5c _xpc_connection_recv_message + 500
6 libxpc.dylib 0x37a3bb18 _xpc_connection_wakeup_recv + 160
7 libxpc.dylib 0x37a3b9b8 _xpc_connection_wakeup2 + 1264
8 libxpc.dylib 0x37a3b3f6 _xpc_connection_wakeup + 62
9 libdispatch.dylib 0x36d7821e _dispatch_source_invoke + 510
10 libdispatch.dylib 0x36d75b70 _dispatch_queue_invoke$VARIANT$up + 40
11 libdispatch.dylib 0x36d75caa _dispatch_queue_drain + 202
12 libdispatch.dylib 0x36d75b66 _dispatch_queue_invoke$VARIANT$up + 30
13 libdispatch.dylib 0x36d75caa _dispatch_queue_drain + 202
14 libdispatch.dylib 0x36d75b66 _dispatch_queue_invoke$VARIANT$up + 30
15 libdispatch.dylib 0x36d75caa _dispatch_queue_drain + 202
16 libdispatch.dylib 0x36d75b66 _dispatch_queue_invoke$VARIANT$up + 30
17 libdispatch.dylib 0x36d7676c _dispatch_worker_thread2 + 208
18 libsystem_c.dylib 0x32ee21c8 _pthread_wqthread + 288
19 libsystem_c.dylib 0x32ee209c start_wqthread + 0
控制台没有给我任何消息,只是说我发生了崩溃。有什么想法吗?
【问题讨论】:
-
显示您正在使用的 CoreLocation 代码。
-
这是一个成熟的应用程序......使用 CoreLocation 的代码实际上有数千行。
-
EXC_BAD_ACCESS,您正在尝试访问过度释放的对象。您是否在 Zombies 仪器中运行了您的应用程序?和/或您是否设置了启用 NSZombie 的环境变量,以提供有关其导致此问题的位置的更多信息?
-
如果它是一个成熟的应用程序,您能否向我们展示您最近所做的可能导致此崩溃的更改?
-
我确实在 Instruments running Zombies 中发现了这个崩溃。当它崩溃时,我得到了相同的崩溃日志,但 Instruments 没有找到对已释放对象的访问权限。
标签: ios crash core-location