如何解决EXC_BAD_ACCESS(SIGSEGV)上的KERN_INVALID_ADDRESS

在我的Mac OSX雪豹和Xcode 4.1和最后一个SDK,我的应用程序崩溃在我的手机上,但在我的手机上的朋友,它不会崩溃。

我有这个错误,我启动我的应用程序,等待RSS源和2/3秒后崩溃:谢谢你的帮助….

Date/Time: 2011-10-07 10:15:54.675 +0200 OS Version: iPhone OS 4.3.3 (8J2) Report Version: 104 Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x2040b743 Crashed Thread: 6 Thread 0 name: Dispatch queue: com.apple.main-thread Thread 0: 0 libsystem_kernel.dylib 0x332a5c00 mach_msg_trap + 20 1 libsystem_kernel.dylib 0x332a5758 mach_msg + 44 2 CoreFoundation 0x329382b8 __CFRunLoopServiceMachPort + 88 3 CoreFoundation 0x3293a562 __CFRunLoopRun + 350 4 CoreFoundation 0x328caebc CFRunLoopRunSpecific + 224 5 CoreFoundation 0x328cadc4 CFRunLoopRunInMode + 52 6 GraphicsServices 0x33433418 GSEventRunModal + 108 7 GraphicsServices 0x334334c4 GSEventRun + 56 8 UIKit 0x32417d62 -[UIApplication _run] + 398 9 UIKit 0x32415800 UIApplicationMain + 664 Thread 1: 0 libsystem_kernel.dylib 0x332a83ec __workq_kernreturn + 8 1 libsystem_c.dylib 0x32c966d8 _pthread_wqthread + 592 2 libsystem_c.dylib 0x32c96bbc start_wqthread + 0 Thread 2 name: Dispatch queue: com.apple.libdispatch-manager Thread 2: 0 libsystem_kernel.dylib 0x332a8fbc kevent + 24 1 libdispatch.dylib 0x30205032 _dispatch_mgr_invoke + 706 2 libdispatch.dylib 0x3020603a _dispatch_queue_invoke + 86 3 libdispatch.dylib 0x302055ea _dispatch_worker_thread2 + 186 4 libsystem_c.dylib 0x32c9658a _pthread_wqthread + 258 5 libsystem_c.dylib 0x32c96bbc start_wqthread + 0 Thread 3: 0 libsystem_kernel.dylib 0x332a7d18 __semwait_signal + 24 1 libsystem_c.dylib 0x32cbc860 _pthread_cond_wait + 756 2 libsystem_c.dylib 0x32c63eb2 pthread_cond_wait + 26 3 Foundation 0x33846904 -[NSCondition wait] + 164 4 Cyntact.dylib 0x0019cebe 0x19c000 + 3774 5 Foundation 0x33839382 -[NSThread main] + 38 6 Foundation 0x338ab5c6 __NSThread__main__ + 966 7 libsystem_c.dylib 0x32c9530a _pthread_start + 242 8 libsystem_c.dylib 0x32c96bb4 thread_start + 0 Thread 4 name: WebThread Thread 4: 0 libsystem_kernel.dylib 0x332a5c00 mach_msg_trap + 20 1 libsystem_kernel.dylib 0x332a5758 mach_msg + 44 2 CoreFoundation 0x329382b8 __CFRunLoopServiceMachPort + 88 3 CoreFoundation 0x3293a562 __CFRunLoopRun + 350 4 CoreFoundation 0x328caebc CFRunLoopRunSpecific + 224 5 CoreFoundation 0x328cadc4 CFRunLoopRunInMode + 52 6 WebCore 0x3114b27e RunWebThread(void*) + 382 7 libsystem_c.dylib 0x32c9530a _pthread_start + 242 8 libsystem_c.dylib 0x32c96bb4 thread_start + 0 Thread 5: 0 libsystem_kernel.dylib 0x332a5c00 mach_msg_trap + 20 1 libsystem_kernel.dylib 0x332a5758 mach_msg + 44 2 CoreFoundation 0x329382b8 __CFRunLoopServiceMachPort + 88 3 CoreFoundation 0x3293a562 __CFRunLoopRun + 350 4 CoreFoundation 0x328caebc CFRunLoopRunSpecific + 224 5 CoreFoundation 0x3290d6d2 CFRunLoopRun + 42 6 0x0003f96a 0x1000 + 256362 7 Foundation 0x33839382 -[NSThread main] + 38 8 Foundation 0x338ab5c6 __NSThread__main__ + 966 9 libsystem_c.dylib 0x32c9530a _pthread_start + 242 10 libsystem_c.dylib 0x32c96bb4 thread_start + 0 **Thread 6 Crashed: 0 libobjc.A.dylib 0x32da1c98 objc_msgSend + 16 1 CoreFoundation 0x328c519a CFRelease + 62 2 CFNetwork 0x3563c378 HTTPMessage::~HTTPMessage() + 56 3 CFNetwork 0x3563c336 HTTPMessage::~HTTPMessage() + 2 4 CFNetwork 0x3563c262 CFClass::FinalizeObj(void const*) + 10 5 CoreFoundation 0x328c5288 _CFRelease + 160 6 CoreFoundation 0x328c51ae CFRelease + 82 7 CFNetwork 0x3564ad52 HTTPReadFilter::~HTTPReadFilter() + 82 8 CFNetwork 0x3564acf6 HTTPReadFilter::~HTTPReadFilter() + 2 9 CFNetwork 0x3563c262 CFClass::FinalizeObj(void const*) + 10 10 CoreFoundation 0x328c5288 _CFRelease + 160 11 CoreFoundation 0x328c51ae CFRelease + 82 12 CFNetwork 0x356ba7cc HTTPReadFilter::readStreamFinalize(__CFReadStream*) + 4 13 CFNetwork 0x3564acea CFNetworkReadStream::httpStreamFinalize(__CFReadStream*, void*) + 10 14 CoreFoundation 0x32940bd8 __CFStreamDeallocate + 120 15 CoreFoundation 0x328c5288 _CFRelease + 160 16 CoreFoundation 0x328c51ae CFRelease + 82 17 CFNetwork 0x3564a7fc NetConnection::shutdownConnectionStreams() + 64 18 CFNetwork 0x356b7b38 NetConnection::closeStreamsIfPossibleOrSignalThatThatNeedsToBeDonePrettyPlease() + 20 19 CFNetwork 0x3568e018 NetConnection::doNotAllowMoreReqeusts() + 24 20 CFNetwork 0x356c9324 UnauthConnectionArray::removeValueAtIndex(long) + 28 21 CFNetwork 0x356c7ade HTTPConnectionCacheEntry::removeAllConnections() + 46 22 CFNetwork 0x356c77ac HTTPConnectionCacheEntry::setHasBeenForgotten() + 20 23 CFNetwork 0x356c78fc HTTPConnectionCacheDictionary::forgetCacheEntries() + 60 24 CFNetwork 0x356c792c ConnectionCacheTLS::resetCacheForThisThread() + 12 25 CFNetwork 0x35648aa0 ConnectionTimerTLS::_timerPurgeEntries(__CFRunLoopTimer*, void*) + 12 26 CoreFoundation 0x32937a40 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 8 27 CoreFoundation 0x32939ec4 __CFRunLoopDoTimer + 844 28 CoreFoundation 0x3293a83e __CFRunLoopRun + 1082 29 CoreFoundation 0x328caebc CFRunLoopRunSpecific + 224 30 CoreFoundation 0x328cadc4 CFRunLoopRunInMode + 52 31 Foundation 0x338467f6 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] + 206 32 Foundation 0x33839382 -[NSThread main] + 38 33 Foundation 0x338ab5c6 __NSThread__main__ + 966 34 libsystem_c.dylib 0x32c9530a _pthread_start + 242 35 libsystem_c.dylib 0x32c96bb4 thread_start + 0** Thread 7 name: com.apple.CFSocket.private Thread 7: 0 libsystem_kernel.dylib 0x332a7c60 __select + 20 1 CoreFoundation 0x3293d8f2 __CFSocketManager + 582 2 libsystem_c.dylib 0x32c9530a _pthread_start + 242 3 libsystem_c.dylib 0x32c96bb4 thread_start + 0 

EXC_BAD_ACCESS通常意味着你正在发送一个obj c消息给一个无效的内存地址。 通常这是因为你正在使用的对象已经被释放,而你并不期待它(这里可能是HTTPMessage )。

 **Thread 6 Crashed: 0 libobjc.A.dylib 0x32da1c98 objc_msgSend + 16 1 CoreFoundation 0x328c519a CFRelease + 62 2 CFNetwork 0x3563c378 HTTPMessage::~HTTPMessage() + 56 

它在另一部手机上工作的原因可能只是自动释放的对象没有被同时释放。 你应该检查你的保留/发布余额,并可以使用NSZombieEnabled获取更多信息。