如何解释在Firebase中没有完全符号化的崩溃报告?
我们用火力坠毁的分析在我们的应用程序,它帮助我们通过指定函数名,甚至行号也解决的bug快,但有时只给如何解释在Firebase中没有完全符号化的崩溃报告?
appDelegate.swift [启动+ 17644]
我该如何诠释这份报告?为什么它看起来像这样?
这是完整的跟踪与线程,应用程序名称是由APPNAME
Exception name: EXC_SOFTWARE/UNCAUGHT_NS_EXCEPTION
1 CoreFoundation __exceptionPreprocess + 1241536
2 libobjc.A.dylib objc_exception_throw + 34136
3 CoreFoundation -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 80952
4 CoreFoundation +[NSDictionary dictionaryWithObjects:forKeys:count:] + 80552
5 FBSDKCoreKit 4304632780 + 244684
6 FBSDKCoreKit 4304632048 + 243952
7 FBSDKCoreKit 4304437716 + 49620
8 CoreFoundation __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 823848
9 CoreFoundation _CFXRegistrationPost + 821548
10 CoreFoundation ___CFXNotificationPost_block_invoke + 820904
11 CoreFoundation -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1276824
12 CoreFoundation _CFXNotificationPost + 44016
13 Foundation -[NSNotificationCenter postNotificationName:object:userInfo:] + 26152
14 UIKit -[UIApplication _deactivateForReason:notify:] + 491392
15 CoreFoundation __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 823848
16 CoreFoundation ___CFXRegistrationPost_block_invoke + 823692
17 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 905564
18 CoreFoundation __CFRunLoopDoBlocks + 903512
19 CoreFoundation __CFRunLoopRun + 896080
20 CoreFoundation CFRunLoopRunSpecific + 36932
21 GraphicsServices GSEventRunModal + 49556
22 UIKit -[UIApplication _run] + 504568
23 UIKit UIApplicationMain + 483376
24 appName main (AppDelegate.swift:18)
25 libdyld.dylib start + 17844
Thread 2
1 libsystem_kernel.dylib mach_msg_trap + 4460
2 libsystem_kernel.dylib mach_msg + 4056
3 CoreFoundation __CFRunLoopServiceMachPort + 904424
4 CoreFoundation __CFRunLoopRun + 895236
5 CoreFoundation CFRunLoopRunSpecific + 36932
6 Foundation -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 51848
7 Foundation -[NSRunLoop(NSRunLoop) runUntilDate:] + 185720
8 UIKit -[UIEventFetcher threadMain] + 10422824
9 Foundation __NSThread__start__ + 1090680
10 libsystem_pthread.dylib _pthread_body + 14412
11 libsystem_pthread.dylib _pthread_start + 14172
12 libsystem_pthread.dylib thread_start + 3496
Thread 3
1 libsystem_kernel.dylib mach_msg_trap + 4460
2 libsystem_kernel.dylib mach_msg + 4056
3 CoreFoundation __CFRunLoopServiceMachPort + 904424
4 CoreFoundation __CFRunLoopRun + 895236
5 CoreFoundation CFRunLoopRunSpecific + 36932
6 CFNetwork +[NSURLConnection(Loader) _resourceLoadLoop:] + 847820
7 Foundation __NSThread__start__ + 1090680
8 libsystem_pthread.dylib _pthread_body + 14412
9 libsystem_pthread.dylib _pthread_start + 14172
10 libsystem_pthread.dylib thread_start + 3496
Thread 4
1 libsystem_kernel.dylib mach_msg_trap + 4460
2 libsystem_kernel.dylib mach_msg + 4056
3 CoreFoundation __CFRunLoopServiceMachPort + 904424
4 CoreFoundation __CFRunLoopRun + 895236
5 CoreFoundation CFRunLoopRunSpecific + 36932
6 Foundation -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 51848
7 Foundation -[NSRunLoop(NSRunLoop) run] + 397836
8 appName +[GAI threadMain:] + 1782640
9 Foundation __NSThread__start__ + 1090680
10 libsystem_pthread.dylib _pthread_body + 14412
11 libsystem_pthread.dylib _pthread_start + 14172
12 libsystem_pthread.dylib thread_start + 3496
Thread 5
1 libsystem_kernel.dylib mach_msg_trap + 4460
2 libsystem_kernel.dylib mach_msg + 4056
3 appName google_breakpad::ExceptionHandler::WaitForMessage(void*) + 2388144
4 libsystem_pthread.dylib _pthread_body + 14412
5 libsystem_pthread.dylib _pthread_start + 14172
6 libsystem_pthread.dylib thread_start + 3496
Thread 6
1 libsystem_kernel.dylib mach_msg_trap + 4460
2 libsystem_kernel.dylib mach_msg + 4056
3 CoreFoundation __CFRunLoopServiceMachPort + 904424
4 CoreFoundation __CFRunLoopRun + 895236
5 CoreFoundation CFRunLoopRunSpecific + 36932
6 GeoServices _runNetworkThread + 4308864
7 libsystem_pthread.dylib _pthread_body + 14412
8 libsystem_pthread.dylib _pthread_start + 14172
9 libsystem_pthread.dylib thread_start + 3496
Thread 7
1 libsystem_kernel.dylib __workq_kernreturn + 129672
2 libsystem_pthread.dylib _pthread_wqthread + 4952
3 libsystem_pthread.dylib start_wqthread + 3488 arrow_drop_down
Thread 8
1 libsystem_kernel.dylib __workq_kernreturn + 129672
2 libsystem_pthread.dylib _pthread_wqthread + 4468
3 libsystem_pthread.dylib start_wqthread + 3488 arrow_drop_down
Thread 9
1 libsystem_kernel.dylib __workq_kernreturn + 129672
2 libsystem_pthread.dylib _pthread_wqthread + 4952
3 libsystem_pthread.dylib start_wqthread + 3488
Thread 10
1 CoreFoundation> -[__NSDictionaryM countByEnumeratingWithState:objects:count:] + 86492
2 appName +[FIRAEvent normalizedParametersForParameters:isPublicEvent:] + 1999144 3 appName +[FIRAEvent normalizedParametersForParameters:isPublicEvent:] + 1999144 4 appName -[FIRAEvent initWithOrigin:isPublic:name:timestamp:previousTimestamp:parameters:] + 2002028
5 appName +[FIRAnalytics logEventOnSerialQueueWithOrigin:isPublicEvent:name:parameters:timestamp:ignoreEnabled:ignoreInterceptor:addedScreenParameters:] + 2195924
6 appName __65+[FIRAnalytics logEventWithOrigin:isPublicEvent:name:parameters:]_block_invoke_3 + 2195040
7 libdispatch.dylib _dispatch_call_block_and_release + 4604
8 libdispatch.dylib _dispatch_client_callout + 4540
9 libdispatch.dylib _dispatch_queue_serial_drain + 62528
10 libdispatch.dylib _dispatch_queue_invoke + 18852
11 libdispatch.dylib _dispatch_root_queue_drain + 70536
12 libdispatch.dylib _dispatch_worker_thread3 + 69864
13 libsystem_pthread.dylib _pthread_wqthread + 4788
14 libsystem_pthread.dylib start_wqthread + 3488
您的应用程序崩溃,因为异常的替代。由于您的数据不显示异常字符串,因此未知哪种异常会引发崩溃。
由于FBSDKCoreKit
框架中的问题(可能是Facebook第三方SDK)引发了异常。由于您很可能未将该框架的调试符号上载到Firebase,因此它们无法对它们进行符号化并提供在这些框架中调用的类和方法。
异常是由处理NSDictionary
对象的问题触发的,可能试图为某个键插入nil
值,但这只是一种猜测。
由于生成的堆栈跟踪中唯一的非系统框架来自您的应用程序调用,因此Firebase通过该调用对崩溃进行了分组,而不是FBSDKCoreKit
中的调用。
要了解有关这些崩溃的更多信息,您需要上传FBSDKCoreKit
框架的符号。有了这些信息,就不可能知道事故发生的原因以及如何解决这个问题。
我上传了新的符号文件,它只会影响firebase说的下一个异常。 – DeyaEldeen
你确定要上传Facebook框架的符号文件吗? – Kerni
在这个非常相同的错误堆栈中,firebase现在说 “UUID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx的未来堆栈跟踪将使用上传的符号文件进行符号化”。 – DeyaEldeen
请提供完整的崩溃报告,包括异常或信号信息,至少一个完整的堆栈跟踪。 – Kerni
@Kerni:添加痕迹。 – DeyaEldeen