2013-10-30 120 views
0

我試圖複製我的應用程序中偶爾發生的錯誤。我有下面的崩潰報告。我是否認爲應用程序崩潰是由於NSDictionary沒有特定鍵的值?還有什麼我可以從報告中推斷出來嗎?其崩潰破譯崩潰報告 - iOS - xCode

Date/Time:  2013-09-19 12:12:54.627 +0800 
OS Version:  iOS 6.1.3 (10B329) 
Report Version: 104 

Exception Type: EXC_CRASH (SIGTRAP) 
Exception Codes: 0x0000000000000000, 0x0000000000000000 
Crashed Thread: 0 

Last Exception Backtrace: 
0 CoreFoundation     0x31bbd3e2 __exceptionPreprocess + 158 
1 libobjc.A.dylib     0x39a5795e objc_exception_throw + 26 
2 CoreFoundation     0x31b0e876 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 130 
3 CoreFoundation     0x31b0e732 +[NSDictionary dictionaryWithObject:forKey:] + 46 
4 MyApp       0x00103f34 -[WebViewJavascriptBridge _sendData:responseCallback:handlerName:] (WebViewJavascriptBridge.m:95) 
5 MyApp       0x00103d2a -[WebViewJavascriptBridge callHandler:data:responseCallback:] (WebViewJavascriptBridge.m:67) 
6 MyApp       0x00103cec -[WebViewJavascriptBridge callHandler:data:] (WebViewJavascriptBridge.m:63) 
7 MyApp       0x000c3be2 -[ContractViewController updateHTML] (ContractViewController.m:293) 
8 MyApp       0x000c2fec -[ContractViewController startEditableContract] (ContractViewController.m:199) 
9 MyApp       0x000c2bc2 -[ContractViewController viewDidLoad] (ContractViewController.m:192) 
10 UIKit       0x339eb574 -[UIViewController loadViewIfRequired] + 360 
11 UIKit       0x33a401f2 -[UIViewController contentScrollView] + 22 
12 UIKit       0x33a40138 -[UINavigationController _computeAndApplyScrollContentInsetDeltaForViewController:] + 24 
13 UIKit       0x33a4001c -[UINavigationController _layoutViewController:] + 28 
14 UIKit       0x33a3ff48 -[UINavigationController _updateScrollViewFromViewController:toViewController:] + 268 
15 UIKit       0x33a3f694 -[UINavigationController _startTransition:fromViewController:toViewController:] + 60 
16 UIKit       0x33a3f57c -[UINavigationController _startDeferredTransitionIfNeeded:] + 320 
17 UIKit       0x33a2db56 -[UINavigationController pushViewController:transition:forceImmediate:] + 854 
18 UIKit       0x33a2d7f6 -[UINavigationController pushViewController:animated:] + 34 
19 MyApp       0x000b91dc -[ExhibitorDetailsViewController contractLoadButton:] (ExhibitorDetailsViewController.m:680) 
20 UIKit       0x33ab7082 -[UIApplication sendAction:to:from:forEvent:] + 66 
21 UIKit       0x33ab7036 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 26 
22 UIKit       0x33ab7010 -[UIControl sendAction:to:forEvent:] + 40 
23 UIKit       0x33ab68c6 -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 498 
24 UIKit       0x33ab6db4 -[UIControl touchesEnded:withEvent:] + 484 
25 UIKit       0x339df5f4 -[UIWindow _sendTouchesForEvent:] + 520 
26 UIKit       0x339cc8dc -[UIApplication sendEvent:] + 376 
27 UIKit       0x339cc1ea _UIApplicationHandleEvent + 6194 
28 GraphicsServices    0x356c05f2 _PurpleEventCallback + 586 
29 GraphicsServices    0x356c0222 PurpleEventCallback + 30 
30 CoreFoundation     0x31b923e2 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 30 
31 CoreFoundation     0x31b92386 __CFRunLoopDoSource1 + 134 
32 CoreFoundation     0x31b9120a __CFRunLoopRun + 1378 
33 CoreFoundation     0x31b04238 CFRunLoopRunSpecific + 352 
34 CoreFoundation     0x31b040c4 CFRunLoopRunInMode + 100 
35 GraphicsServices    0x356bf336 GSEventRunModal + 70 
36 UIKit       0x33a202b4 UIApplicationMain + 1116 
37 MyApp       0x00095e02 main (main.m:15) 
38 libdyld.dylib     0x39e84b1c start + 0 


Thread 0 name: Dispatch queue: com.apple.main-thread 
Thread 0 Crashed: 
0 libsystem_kernel.dylib   0x39f4a838 __kill + 8 
1 MyApp       0x00107ed0 TFHandleExceptions + 988 
2 CoreFoundation     0x31bbd6cc __handleUncaughtException + 624 
3 libobjc.A.dylib     0x39a57a46 _objc_terminate() + 126 
4 libc++abi.dylib     0x394a4118 safe_handler_caller(void (*)()) + 76 
5 libc++abi.dylib     0x394a41b0 std::terminate() + 16 
6 libc++abi.dylib     0x394a5626 __cxa_rethrow + 90 
7 libobjc.A.dylib     0x39a579b0 objc_exception_rethrow + 8 
8 CoreFoundation     0x31b0429c CFRunLoopRunSpecific + 452 
9 CoreFoundation     0x31b040c4 CFRunLoopRunInMode + 100 
10 GraphicsServices    0x356bf336 GSEventRunModal + 70 
11 UIKit       0x33a202b4 UIApplicationMain + 1116 
12 MyApp       0x00095e02 main (main.m:15) 
13 libdyld.dylib     0x39e84b1c start + 0 

Thread 1 name: Dispatch queue: com.apple.libdispatch-manager 
Thread 1: 
0 libsystem_kernel.dylib   0x39f3b5d0 kevent64 + 24 
1 libdispatch.dylib    0x39e76d22 _dispatch_mgr_invoke + 806 
2 libdispatch.dylib    0x39e72374 _dispatch_mgr_thread + 32 

Thread 2 name: WebThread 
Thread 2: 
0 libsystem_kernel.dylib   0x39f4b0fc __psynch_mutexwait + 24 
1 libsystem_c.dylib    0x39e93e66 pthread_mutex_lock + 390 
2 WebCore       0x37aea2b8 _WebTryThreadLock(bool) + 184 
3 WebCore       0x37aea1e8 WebRunLoopLock(__CFRunLoopObserver*, unsigned long, void*) + 40 
4 CoreFoundation     0x31b9293e __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 18 
5 CoreFoundation     0x31b90c34 __CFRunLoopDoObservers + 272 
6 CoreFoundation     0x31b91076 __CFRunLoopRun + 974 
7 CoreFoundation     0x31b04238 CFRunLoopRunSpecific + 352 
8 CoreFoundation     0x31b040c4 CFRunLoopRunInMode + 100 
9 WebCore       0x37ae8390 RunWebThread(void*) + 440 
10 libsystem_c.dylib    0x39ea40de _pthread_start + 306 
11 libsystem_c.dylib    0x39ea3fa4 thread_start + 4 

Thread 3 name: com.apple.NSURLConnectionLoader 
Thread 3: 
0 libsystem_kernel.dylib   0x39f3ae30 mach_msg_trap + 20 
1 libsystem_kernel.dylib   0x39f3afd0 mach_msg + 48 
2 CoreFoundation     0x31b922b6 __CFRunLoopServiceMachPort + 126 
3 CoreFoundation     0x31b9102c __CFRunLoopRun + 900 
4 CoreFoundation     0x31b04238 CFRunLoopRunSpecific + 352 
5 CoreFoundation     0x31b040c4 CFRunLoopRunInMode + 100 
6 Foundation      0x32451888 +[NSURLConnection(Loader) _resourceLoadLoop:] + 304 
7 Foundation      0x324d522c __NSThread__main__ + 968 
8 libsystem_c.dylib    0x39ea40de _pthread_start + 306 
9 libsystem_c.dylib    0x39ea3fa4 thread_start + 4 

Thread 4: 
0 libsystem_kernel.dylib   0x39f3ae30 mach_msg_trap + 20 
1 libsystem_kernel.dylib   0x39f3afd0 mach_msg + 48 
2 CoreFoundation     0x31b922b6 __CFRunLoopServiceMachPort + 126 
3 CoreFoundation     0x31b9102c __CFRunLoopRun + 900 
4 CoreFoundation     0x31b04238 CFRunLoopRunSpecific + 352 
5 CoreFoundation     0x31b040c4 CFRunLoopRunInMode + 100 
6 Foundation      0x324285be -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 250 
7 Foundation      0x324cbc40 -[NSRunLoop(NSRunLoop) run] + 76 
8 MyApp       0x0011cf4c -[TFNetworkManager networkRunLoopThreadEntry] + 120 
9 Foundation      0x324d522c __NSThread__main__ + 968 
10 libsystem_c.dylib    0x39ea40de _pthread_start + 306 
11 libsystem_c.dylib    0x39ea3fa4 thread_start + 4 

Thread 5 name: com.apple.CFSocket.private 
Thread 5: 
0 libsystem_kernel.dylib   0x39f4b594 __select + 20 
1 CoreFoundation     0x31b96474 __CFSocketManager + 676 
2 libsystem_c.dylib    0x39ea40de _pthread_start + 306 
3 libsystem_c.dylib    0x39ea3fa4 thread_start + 4 

Thread 6 name: JavaScriptCore::BlockFree 
Thread 6: 
0 libsystem_kernel.dylib   0x39f4b08c __psynch_cvwait + 24 
1 libsystem_c.dylib    0x39e9cafc _pthread_cond_wait + 644 
2 libsystem_c.dylib    0x39e9c870 pthread_cond_timedwait + 40 
3 JavaScriptCore     0x35ab5df6 WTF::ThreadCondition::timedWait(WTF::Mutex&, double) + 102 
4 JavaScriptCore     0x35bc8532 JSC::BlockAllocator::blockFreeingThreadMain() + 78 
5 JavaScriptCore     0x35bdb030 WTF::wtfThreadEntryPoint(void*) + 12 
6 libsystem_c.dylib    0x39ea40de _pthread_start + 306 
7 libsystem_c.dylib    0x39ea3fa4 thread_start + 4 

Thread 7 name: JavaScriptCore::Marking 
Thread 7: 
0 libsystem_kernel.dylib   0x39f4b08c __psynch_cvwait + 24 
1 libsystem_c.dylib    0x39e9cafc _pthread_cond_wait + 644 
2 libsystem_c.dylib    0x39ea6cf8 pthread_cond_wait + 36 
3 JavaScriptCore     0x35b5b6dc JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode) + 140 
4 JavaScriptCore     0x35b5b620 JSC::MarkStackThreadSharedData::markingThreadMain() + 140 
5 JavaScriptCore     0x35bdb030 WTF::wtfThreadEntryPoint(void*) + 12 
6 libsystem_c.dylib    0x39ea40de _pthread_start + 306 
7 libsystem_c.dylib    0x39ea3fa4 thread_start + 4 

Thread 8: 
0 libsystem_kernel.dylib   0x39f3ae30 mach_msg_trap + 20 
1 libsystem_kernel.dylib   0x39f3afd0 mach_msg + 48 
2 CoreFoundation     0x31b922b6 __CFRunLoopServiceMachPort + 126 
3 CoreFoundation     0x31b9102c __CFRunLoopRun + 900 
4 CoreFoundation     0x31b04238 CFRunLoopRunSpecific + 352 
5 CoreFoundation     0x31b040c4 CFRunLoopRunInMode + 100 
6 Foundation      0x324285be -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 250 
7 Foundation      0x324cbc40 -[NSRunLoop(NSRunLoop) run] + 76 
8 MyApp       0x0012e308 +[AFURLConnectionOperation networkRequestThreadEntryPoint:] + 120 
9 Foundation      0x324d522c __NSThread__main__ + 968 
10 libsystem_c.dylib    0x39ea40de _pthread_start + 306 
11 libsystem_c.dylib    0x39ea3fa4 thread_start + 4 

Thread 9: 
0 libsystem_kernel.dylib   0x39f4bd98 __workq_kernreturn + 8 
1 libsystem_c.dylib    0x39e99ad6 _pthread_workq_return + 14 
2 libsystem_c.dylib    0x39e997f2 _pthread_wqthread + 362 
3 libsystem_c.dylib    0x39e99680 start_wqthread + 4 

Thread 10: 
0 libsystem_kernel.dylib   0x39f4bd98 __workq_kernreturn + 8 
1 libsystem_c.dylib    0x39e99ad6 _pthread_workq_return + 14 
2 libsystem_c.dylib    0x39e997f2 _pthread_wqthread + 362 
3 libsystem_c.dylib    0x39e99680 start_wqthread + 4 

Thread 11: 
0 libsystem_kernel.dylib   0x39f4bd98 __workq_kernreturn + 8 
1 libsystem_c.dylib    0x39e99ad6 _pthread_workq_return + 14 
2 libsystem_c.dylib    0x39e997f2 _pthread_wqthread + 362 
3 libsystem_c.dylib    0x39e99680 start_wqthread + 4 

Thread 12: 
0 libsystem_kernel.dylib   0x39f4bd98 __workq_kernreturn + 8 
1 libsystem_c.dylib    0x39e99ad6 _pthread_workq_return + 14 
2 libsystem_c.dylib    0x39e997f2 _pthread_wqthread + 362 
3 libsystem_c.dylib    0x39e99680 start_wqthread + 4 

Thread 0 crashed with ARM Thread State (32-bit): 
    r0: 0x00000000 r1: 0x00000000  r2: 0x00000001  r3: 0x3ba42fc8 
    r4: 0xffffffff r5: 0x2fd6c311  r6: 0x2fd6c310  r7: 0x2fd6c9e0 
    r8: 0x2fd6c340 r9: 0x3ba38898  r10: 0x2fd6c318  r11: 0x00000015 
    ip: 0x00000025 sp: 0x2fd6c2fc  lr: 0x00107ed5  pc: 0x39f4a838 
    cpsr: 0x00080010 

代碼:

- (void)_sendData:(NSDictionary *)data responseCallback:(WVJBResponseCallback)responseCallback handlerName:(NSString*)handlerName { 
    NSMutableDictionary* message = [NSMutableDictionary dictionaryWithObject:data forKey:@"data"]; 

    if (responseCallback) { 
     NSString* callbackId = [NSString stringWithFormat:@"objc_cb_%ld", ++_uniqueId]; 
     _responseCallbacks[callbackId] = [responseCallback copy]; 
     message[@"callbackId"] = callbackId; 
    } 

    if (handlerName) { 
     message[@"handlerName"] = handlerName; 
    } 
    [self _queueMessage:message]; 
} 
+0

這是沒有必要,由於NSDictionary只有它崩潰請分析相同從你的viewDidload方法的ContractViewController –

+0

如果它是字典,那麼你可能會看到:*** - [__ NSPlaceholderDictionary initWithObjects:forKeys:count: ]:試圖從對象[0]或類似的地方插入nil對象。在這裏閱讀:http://www.raywenderlich.com/23704/,看看你能不能找出任何東西。 – Mikael

+0

添加控制檯輸出請 –

回答

1

所述的碰撞發生在文件WebViewJavascriptBridge.m中,管線95在該方法中[WebViewJavascriptBridge _sendData:responseCallback:handlerName:]

該行在[__NSPlaceholderDictionary initWithObjects:forKeys:count:]中導致異常。由於崩潰報告中沒有顯示異常消息,並且您不提供該地點的任何源代碼,所以我們只能假定發生了什麼。

一個假設是,您正在創建一個包含nil值或密鑰的字典。但是如果沒有代碼或者你真的在調試它,這只是一個假設。

+0

Kemi - 謝謝 - 這非常有幫助。我在上面的方法中添加了 - 你能找到其他的東西嗎? – GuybrushThreepwood

+0

'數據'是'無'? – Kerni

+0

對 - 謝謝! – GuybrushThreepwood