0

我试图在我的应用程序中复制一个偶尔发生在用户身上的错误。我有以下崩溃报告。我是否认为应用程序由于 NSDictionary 没有特定键的值而崩溃?还有什么我可以从报告中推断出来的吗?

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];
}
4

1 回答 1

1

崩溃发生在方法中的文件WebViewJavascriptBridge.m中。95[WebViewJavascriptBridge _sendData:responseCallback:handlerName:]

该行导致[__NSPlaceholderDictionary initWithObjects:forKeys:count:]. 由于崩溃报告中没有显示异常消息,并且您没有提供该位置的任何源代码,我们只能假设发生了什么。

一个假设是,您正在创建一个带有nil值或键的字典。但是如果没有代码或者你实际调试它,这只是一个假设。

于 2013-10-30T12:02:19.027 回答