iPhone:应用程序在20分钟后在MapView中崩溃

时间:2010-08-03 01:18:40

标签: iphone crash geolocation mkmapview exc-bad-access

我正在开发一款跟踪用户位置的应用。大约20分钟后,应用程序似乎总是崩溃,我不知道为什么。设备日志显示:

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x069f6000
Crashed Thread:  0

Thread 0 Crashed:
0   Ride                            0x00012e00 -[Route addCoordinate:] (Route.m:92)
1   Ride                            0x0000877a -[MyRidesMapViewController locationManager:didUpdateToLocation:fromLocation:] (MyRidesMapViewController.m:528)
2   CoreLocation                    0x0000931c -[CLLocationManager onClientEventLocation:] + 584
3   CoreLocation                    0x00007552 -[CLLocationManager onClientEvent:supportInfo:] + 98
4   CoreLocation                    0x000076a0 OnClientEvent + 16
5   CoreLocation                    0x00002ade CLClientInvokeCallback(__CLClient*, CLClientEvent, __CFDictionary const*) + 42
6   CoreLocation                    0x0000512c CLClientHandleDaemonDataLocation(__CLClient*, CLClientLocation const*, __CFDictionary const*) + 204
7   CoreLocation                    0x0000528a CLClientHandleDaemonData(__CFMessagePort*, long, __CFData const*, void*) + 298
8   CoreFoundation                  0x0006936a __CFMessagePortPerform + 242
9   CoreFoundation                  0x00071aa4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 20
10  CoreFoundation                  0x00073848 __CFRunLoopDoSource1 + 160
11  CoreFoundation                  0x00074626 __CFRunLoopRun + 514
12  CoreFoundation                  0x0001d8e4 CFRunLoopRunSpecific + 224
13  CoreFoundation                  0x0001d7ec CFRunLoopRunInMode + 52
14  GraphicsServices                0x000036e8 GSEventRunModal + 108
15  GraphicsServices                0x00003794 GSEventRun + 56
16  UIKit                           0x000062a0 -[UIApplication _run] + 396
17  UIKit                           0x00004e10 UIApplicationMain + 664
18  Ride                            0x00002a20 main (main.m:14)
19  Ride                            0x000029d4 start + 32

看起来我正在尝试发布已经发布的内容,但是什么?!我启用了NSZombie,它似乎没有帮助。

它曾经工作过,我最近更新了我的班级以使用self。对于我合成的任何东西,这可能是问题吗?

编辑:我更新了错误。它似乎列出了每一行的行号,但它们似乎没有帮助找到问题。

2 个答案:

答案 0 :(得分:2)

您在设备上运行时是否启用了NSZombie?如果是这样,你很可能会没有记忆力。如您所知,NSZombie会保留释放的对象,以便您可以检测到双重释放。

你有可能遇到一些记忆问题。静态分析仪是否显示任何内容? (变速指令-A)。

答案 1 :(得分:-1)

将位置管理器委托设置为nIL然后释放它为我修复了崩溃。