我有一個項目在XCode 4.3.1編寫的弧,所以我不會留下保留計數。 當我在模擬器或設備上運行項目時,它運行良好。如果我在分析器和分配器下運行它,它運行良好。iPhone應用程序中斷髮布版本不在調試
但是,如果我將項目歸檔,並分發它特設並加載.ipa文件,應用程序將與控制檯消息崩潰:
<Notice>: Quilters_AppP(1812,0x3f85cd98) malloc: *** error for object 0x1109a910: pointer being freed was not allocated
<Notice>: *** set a breakpoint in malloc_error_break to debug
我設置斷點malloc_error_debug但由於發生錯誤在發佈的版本中,我從來沒有看到調試器。
下面是它變得非常奇怪的地方:現在我已經添加了一些NSLog語句,問題將不會重現。
這裏是日誌:
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x34f5432c __pthread_kill + 8
1 libsystem_c.dylib 0x36e50208 pthread_kill + 48
2 libsystem_c.dylib 0x36e49298 abort + 88
3 libsystem_c.dylib 0x36e0437a free + 374
4 libobjc.A.dylib 0x36583d72 object_dispose + 14
5 CoreFoundation 0x350b6618 -[NSObject dealloc] + 76
6 CoreFoundation 0x350b6736 -[__NSArrayI dealloc] + 162
7 libobjc.A.dylib 0x3658316e _objc_rootRelease + 30
8 libobjc.A.dylib 0x36584e50 objc_release + 32
9 libobjc.A.dylib 0x36583ea6 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 218
10 libobjc.A.dylib 0x36583dc2 _objc_autoreleasePoolPop + 6
11 CoreFoundation 0x350b0cf8 _CFAutoreleasePoolPop + 12
12 UIKit 0x3218ee34 _wrapRunLoopWithAutoreleasePoolHandler + 36
13 CoreFoundation 0x35134b14 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 12
14 CoreFoundation 0x35132d50 __CFRunLoopDoObservers + 252
15 CoreFoundation 0x351330aa __CFRunLoopRun + 754
16 CoreFoundation 0x350b649e CFRunLoopRunSpecific + 294
17 CoreFoundation 0x350b6366 CFRunLoopRunInMode + 98
18 GraphicsServices 0x363b2432 GSEventRunModal + 130
19 UIKit 0x321ace76 UIApplicationMain + 1074
20 Quilters_AppP 0x0003505c main (main.m:17)
21 Quilters_AppP 0x00034af4 0x33000 + 6900
請幫我抓住這個難以捉摸的錯誤。該應用程序的目標是4.3/armv7。
錯誤是你在釋放自動釋放池中的對象。在某個地方,你在對象上使用'autorelease',然後調用'release'。它可能不會在DEBUG上崩潰,因爲NSZombies可能已啓用或類似。 – MarkPowell 2012-04-25 19:28:50
謝謝馬克,但除了Apple在main.m中提供autoreleasepool之外,我不使用發佈或自動發佈。 - Dan – 2012-04-25 20:20:56
這個項目使用ARC? – MarkPowell 2012-04-25 20:23:59