2010-07-29 73 views
2

我幾乎完成了我的第一個應用程序,但我得到一個奇怪的EXC_BAD_ACCESS,幾乎發生在所有的時間。EXC_BAD_ACCESS on lauching,隨機bug

這裏是跟蹤:

#0 0x02adba93 in objc_msgSend 
#1 0x07022e00 in ?? 
#2 0x028bcbcd in _CFAutoreleasePoolPop 
#3 0x0003999f in -[NSAutoreleasePool release] 
#4 0x002e9f84 in _UIApplicationHandleEvent 
#5 0x0310dafa in PurpleEventCallback 
#6 0x02961dc4 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ 
#7 0x028c2737 in __CFRunLoopDoSource1 
#8 0x028bf9c3 in __CFRunLoopRun 
#9 0x028bf280 in CFRunLoopRunSpecific 
#10 0x028bf1a1 in CFRunLoopRunInMode 
#11 0x002e2226 in -[UIApplication _run] 
#12 0x002edb58 in UIApplicationMain 
#13 0x0000282e in main at main.m:14 

奇怪的是,有時在App正常啓動,所以我真的不understant發生了什麼事情和一些幫助將是巨大的:)

+0

看起來像一個釋放/ autorelease問題。您可能已經發布了一個對象,該對象稍後也會被自動釋放。 – 2010-07-29 08:03:07

+0

這是否與NSZombieEnabled? – willcodejavaforfood 2010-07-29 08:04:58

回答

3

你已經過度釋放了一個對象,所以當autorelease池被清除時,這是一個無效的操作。

殭屍調試它:

然後再次運行你的應用程序,並檢查控制檯 - 它應該告訴你什麼對象被過度釋放。

+0

就像我想的那樣。現在沒有,NSZombieEnabled功能,不錯的一個:) – 2010-07-29 08:10:02

+0

嗯,謝謝我不知道這個功能,真的很有用。謝謝 !! – Clem 2010-07-29 08:29:21

+0

這確實幫了我。謝謝!! – AechoLiu 2011-03-09 05:52:03