如何识别iPad应用程序崩溃的原因?

时间:2013-12-02 13:20:15

标签: ios ipad crash-reports

我正在开发一个iPad应用程序,我正面临崩溃问题,但无法找到它背后的原因。

崩溃后,它只指向main.mm个文件。

尝试:

 - NSLogs
 - NSZombiEnabled

以下是崩溃日志。 据我所知,它正在使用一些已经被释放的内存位置。但是如何识别它是哪个对象?

Incident Identifier: AF769A76-ADB4-4C3C-9A94-E0B45A994B42
CrashReporter Key:   7443d58afe6b6a3df23c273ba834f8ae4814a7ce
Hardware Model:      iPad2,1
Process:             BLSOffline [3255]
Path:                /var/mobile/Applications/A4C2BB5D-0FE4-4A4D-B1D6-FF6E0183F4EE/BLSOffline.app/BLSOffline
Identifier:          com.bentley.LearnInHouse
Version:             1.0 (1.0)
Code Type:           ARM (Native)
Parent Process:      launchd [1]

Date/Time:           2013-12-02 18:29:21.692 +0530
OS Version:          iOS 7.0.4 (11B554a)
Report Version:      104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x6192010b
Triggered by Thread:  0

Thread 0 Crashed:
0   libobjc.A.dylib                 0x3a92db26 objc_msgSend + 6
1   MediaPlayer                     0x314a2540 -[MPMoviePlayerControllerNew _moviePlayerWillBecomeActiveNotification:] + 472
2   CoreFoundation                  0x30223116 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 10
3   CoreFoundation                  0x30197252 _CFXNotificationPost + 1714
4   Foundation                      0x30b7cc28 -[NSNotificationCenter postNotificationName:object:userInfo:] + 72
5   MediaPlayer                     0x314a4a60 -[MPMoviePlayerControllerNew _postNotificationName:object:userInfo:] + 96
6   MediaPlayer                     0x314a49f0 -[MPMoviePlayerControllerNew _postNotificationName:object:] + 40
7   MediaPlayer                     0x314a43d4 -[MPMoviePlayerControllerNew _ensureActive] + 128
8   MediaPlayer                     0x314a44a2 -[MPMoviePlayerControllerNew _prepareToPlayWithStartIndex:] + 66
9   MediaPlayer                     0x314a009c -[MPMoviePlayerControllerNew prepareToPlay] + 40
10  MediaPlayer                     0x314a0100 -[MPMoviePlayerControllerNew play] + 44
11  MediaPlayer                     0x314a2b2e -[MPMoviePlayerControllerNew _movieSourceTypeAvailableNotification:] + 350
12  CoreFoundation                  0x30223116 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 10
13  CoreFoundation                  0x30197252 _CFXNotificationPost + 1714
14  Foundation                      0x30b7cc28 -[NSNotificationCenter postNotificationName:object:userInfo:] + 72
15  Foundation                      0x30b81506 -[NSNotificationCenter postNotificationName:object:] + 26
16  MediaPlayer                     0x31525b00 -[MPMovie _determineMediaType] + 152
17  Foundation                      0x30c3b386 __NSFireDelayedPerform + 410
18  CoreFoundation                  0x3022c0dc __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 12
19  CoreFoundation                  0x3022bcf2 __CFRunLoopDoTimer + 778
20  CoreFoundation                  0x3022a08e __CFRunLoopRun + 1206
21  CoreFoundation                  0x30194c22 CFRunLoopRunSpecific + 518
22  CoreFoundation                  0x30194a06 CFRunLoopRunInMode + 102
23  GraphicsServices                0x34e6827e GSEventRunModal + 134
24  UIKit                           0x32a38044 UIApplicationMain + 1132
25  BLSOffline                      0x00116c0e 0xee000 + 166926
26  libdyld.dylib                   0x3ae3aab4 start + 0

Thread 1 name:  gputools.smt_poll.0x14632d20
Thread 1:
0   libsystem_kernel.dylib          0x3aef1550 __semwait_signal + 24
1   libsystem_c.dylib               0x3ae62808 nanosleep + 168
2   libsystem_c.dylib               0x3ae62756 usleep + 46
3   GPUToolsCore                    0x02292f34 smt_poll_thread_entry(void*) + 120
4   libsystem_pthread.dylib         0x3af59c1a _pthread_body + 138
5   libsystem_pthread.dylib         0x3af59b8a _pthread_start + 98
6   libsystem_pthread.dylib         0x3af57c8c thread_start + 4

Thread 2:
0   libsystem_kernel.dylib          0x3aede83c kevent64 + 24
1   libdispatch.dylib               0x3ae1f210 _dispatch_mgr_invoke + 228
2   libdispatch.dylib               0x3ae1ef96 _dispatch_mgr_thread$VARIANT$mp + 34

Thread 3 name:  WebThread
Thread 3:
0   libsystem_kernel.dylib          0x3aef0fa8 __psynch_mutexwait + 24
1   libsystem_pthread.dylib         0x3af57f0a _pthread_mutex_lock + 302
2   WebCore                         0x383037f0 _WebTryThreadLock(bool) + 104
3   WebCore                         0x38303772 WebRunLoopLock(__CFRunLoopObserver*, unsigned long, void*) + 42
4   CoreFoundation                  0x3022c1ca __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 18
5   CoreFoundation                  0x30229b6c __CFRunLoopDoObservers + 280
6   CoreFoundation                  0x30229f7c __CFRunLoopRun + 932
7   CoreFoundation                  0x30194c22 CFRunLoopRunSpecific + 518
8   CoreFoundation                  0x30194a06 CFRunLoopRunInMode + 102
9   WebCore                         0x38302266 RunWebThread(void*) + 414
10  libsystem_pthread.dylib         0x3af59c1a _pthread_body + 138
11  libsystem_pthread.dylib         0x3af59b8a _pthread_start + 98
12  libsystem_pthread.dylib         0x3af57c8c thread_start + 4

Thread 4:
0   libsystem_kernel.dylib          0x3aedea8c mach_msg_trap + 20
1   libsystem_kernel.dylib          0x3aede888 mach_msg + 44
2   CoreFoundation                  0x3022b7be __CFRunLoopServiceMachPort + 150
3   CoreFoundation                  0x30229ee4 __CFRunLoopRun + 780
4   CoreFoundation                  0x30194c22 CFRunLoopRunSpecific + 518
5   CoreFoundation                  0x30194a06 CFRunLoopRunInMode + 102
6   libAVFAudio.dylib               0x2f217584 GenericRunLoopThread::Entry(void*) + 124
7   libAVFAudio.dylib               0x2f20b99c CAPThread::Entry(CAPThread*) + 176
8   libsystem_pthread.dylib         0x3af59c1a _pthread_body + 138
9   libsystem_pthread.dylib         0x3af59b8a _pthread_start + 98
10  libsystem_pthread.dylib         0x3af57c8c thread_start + 4

Thread 5 name:  JavaScriptCore::BlockFree
Thread 5:
0   libsystem_kernel.dylib          0x3aef0f38 __psynch_cvwait + 24
1   libsystem_pthread.dylib         0x3af59224 _pthread_cond_wait + 536
2   libsystem_pthread.dylib         0x3af5a000 pthread_cond_wait + 36
3   JavaScriptCore                  0x311b9d50 JSC::BlockAllocator::blockFreeingThreadMain() + 204
4   JavaScriptCore                  0x311b73a0 WTF::wtfThreadEntryPoint(void*) + 12
5   libsystem_pthread.dylib         0x3af59c1a _pthread_body + 138
6   libsystem_pthread.dylib         0x3af59b8a _pthread_start + 98
7   libsystem_pthread.dylib         0x3af57c8c thread_start + 4

Thread 6 name:  JavaScriptCore::Marking
Thread 6:
0   libsystem_kernel.dylib          0x3aef0f38 __psynch_cvwait + 24
1   libsystem_pthread.dylib         0x3af59224 _pthread_cond_wait + 536
2   libsystem_pthread.dylib         0x3af5a000 pthread_cond_wait + 36
3   JavaScriptCore                  0x31355236 JSC::GCThread::waitForNextPhase() + 74
4   JavaScriptCore                  0x31355290 JSC::GCThread::gcThreadMain() + 48
5   JavaScriptCore                  0x311b73a0 WTF::wtfThreadEntryPoint(void*) + 12
6   libsystem_pthread.dylib         0x3af59c1a _pthread_body + 138
7   libsystem_pthread.dylib         0x3af59b8a _pthread_start + 98
8   libsystem_pthread.dylib         0x3af57c8c thread_start + 4

Thread 7 name:  WebCore: CFNetwork Loader
Thread 7:
0   libsystem_kernel.dylib          0x3aedea8c mach_msg_trap + 20
1   libsystem_kernel.dylib          0x3aede888 mach_msg + 44
2   CoreFoundation                  0x3022b7be __CFRunLoopServiceMachPort + 150
3   CoreFoundation                  0x30229ee4 __CFRunLoopRun + 780
4   CoreFoundation                  0x30194c22 CFRunLoopRunSpecific + 518
5   CoreFoundation                  0x30194a06 CFRunLoopRunInMode + 102
6   WebCore                         0x3834ad5a WebCore::runLoaderThread(void*) + 250
7   JavaScriptCore                  0x311b73a0 WTF::wtfThreadEntryPoint(void*) + 12
8   libsystem_pthread.dylib         0x3af59c1a _pthread_body + 138
9   libsystem_pthread.dylib         0x3af59b8a _pthread_start + 98
10  libsystem_pthread.dylib         0x3af57c8c thread_start + 4

Thread 8 name:  com.apple.NSURLConnectionLoader
Thread 8:
0   libsystem_kernel.dylib          0x3aedea8c mach_msg_trap + 20
1   libsystem_kernel.dylib          0x3aede888 mach_msg + 44
2   CoreFoundation                  0x3022b7be __CFRunLoopServiceMachPort + 150
3   CoreFoundation                  0x30229ee4 __CFRunLoopRun + 780
4   CoreFoundation                  0x30194c22 CFRunLoopRunSpecific + 518
5   CoreFoundation                  0x30194a06 CFRunLoopRunInMode + 102
6   Foundation                      0x30bcf2f2 +[NSURLConnection(Loader) _resourceLoadLoop:] + 314
7   Foundation                      0x30c44c82 __NSThread__main__ + 1058
8   libsystem_pthread.dylib         0x3af59c1a _pthread_body + 138
9   libsystem_pthread.dylib         0x3af59b8a _pthread_start + 98
10  libsystem_pthread.dylib         0x3af57c8c thread_start + 4

Thread 9 name:  com.apple.CFSocket.private
Thread 9:
0   libsystem_kernel.dylib          0x3aef1440 __select + 20
1   CoreFoundation                  0x3022f680 __CFSocketManager + 480
2   libsystem_pthread.dylib         0x3af59c1a _pthread_body + 138
3   libsystem_pthread.dylib         0x3af59b8a _pthread_start + 98
4   libsystem_pthread.dylib         0x3af57c8c thread_start + 4

Thread 10 name:  WebCore: LocalStorage
Thread 10:
0   libsystem_kernel.dylib          0x3aef0f38 __psynch_cvwait + 24
1   libsystem_pthread.dylib         0x3af59224 _pthread_cond_wait + 536
2   libsystem_pthread.dylib         0x3af5a000 pthread_cond_wait + 36
3   JavaScriptCore                  0x311b9e82 WTF::ThreadCondition::timedWait(WTF::Mutex&, double) + 58
4   WebCore                         0x384353a8 WTF::PassOwnPtr<WTF::Function<void ()> > WTF::MessageQueue<WTF::Function<void ()> >::waitForMessageFilteredWithTimeout<bool (WTF::Function<void ()>*)>(WTF::MessageQueueWaitResult&, bool (&)(WTF::Function<void ()>*), double) + 104
5   WebCore                         0x3843532e WebCore::StorageThread::threadEntryPoint() + 162
6   JavaScriptCore                  0x311b73a0 WTF::wtfThreadEntryPoint(void*) + 12
7   libsystem_pthread.dylib         0x3af59c1a _pthread_body + 138
8   libsystem_pthread.dylib         0x3af59b8a _pthread_start + 98
9   libsystem_pthread.dylib         0x3af57c8c thread_start + 4

Thread 11 name:  com.apple.coremedia.player.async
Thread 11:
0   libsystem_kernel.dylib          0x3aedeadc semaphore_wait_trap + 8
1   libdispatch.dylib               0x3ae1d428 _dispatch_semaphore_wait_slow + 172
2   MediaToolbox                    0x3168083c fpa_AsyncMovieControlThread + 1752
3   CoreMedia                       0x307bf234 figThreadMain + 192
4   libsystem_pthread.dylib         0x3af59c1a _pthread_body + 138
5   libsystem_pthread.dylib         0x3af59b8a _pthread_start + 98
6   libsystem_pthread.dylib         0x3af57c8c thread_start + 4

Thread 12 name:  com.apple.coremedia.player.remote
Thread 12:
0   libsystem_kernel.dylib          0x3aedea8c mach_msg_trap + 20
1   libsystem_kernel.dylib          0x3aede888 mach_msg + 44
2   MediaToolbox                    0x31686c58 FigExpressNotificationThread + 84
3   CoreMedia                       0x307bf234 figThreadMain + 192
4   libsystem_pthread.dylib         0x3af59c1a _pthread_body + 138
5   libsystem_pthread.dylib         0x3af59b8a _pthread_start + 98
6   libsystem_pthread.dylib         0x3af57c8c thread_start + 4

Thread 13:
0   libsystem_kernel.dylib          0x3aef1c7c __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x3af57dc6 _pthread_wqthread + 306
2   libsystem_pthread.dylib         0x3af57c80 start_wqthread + 4

Thread 14:
0   libsystem_kernel.dylib          0x3aef1c7c __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x3af57dc6 _pthread_wqthread + 306
2   libsystem_pthread.dylib         0x3af57c80 start_wqthread + 4

Thread 15 name:  com.apple.coremedia.player.async
Thread 15:
0   libsystem_kernel.dylib          0x3aedeadc semaphore_wait_trap + 8
1   libdispatch.dylib               0x3ae1d428 _dispatch_semaphore_wait_slow + 172
2   MediaToolbox                    0x3168083c fpa_AsyncMovieControlThread + 1752
3   CoreMedia                       0x307bf234 figThreadMain + 192
4   libsystem_pthread.dylib         0x3af59c1a _pthread_body + 138
5   libsystem_pthread.dylib         0x3af59b8a _pthread_start + 98
6   libsystem_pthread.dylib         0x3af57c8c thread_start + 4

Thread 16:
0   libsystem_kernel.dylib          0x3aef1c7c __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x3af57dc6 _pthread_wqthread + 306
2   libsystem_pthread.dylib         0x3af57c80 start_wqthread + 4

Thread 0 crashed with ARM Thread State (32-bit):
    r0: 0x145cb7d0    r1: 0x31617754      r2: 0x3b3091a0      r3: 0x00000000
    r4: 0x1918aea0    r5: 0x145cb7d0      r6: 0x00000000      r7: 0x27d134f8
    r8: 0x00000000    r9: 0x619200ff     r10: 0x31617754     r11: 0x145cb7ec
    ip: 0x3b2cd2a4    sp: 0x27d134c0      lr: 0x314a2545      pc: 0x3a92db26
  cpsr: 0x60000030

1 个答案:

答案 0 :(得分:11)

好像你忘了删除电影回调的观察者:

-(void) dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

电影播放器​​(通过NSNotificationCenter)在尝试通知其观察者时可能是using some memory location which has already been freed的对象