Ios 如何调试此崩溃日志

Ios 如何调试此崩溃日志,ios,objective-c,uitableview,xcode5,crash-reports,Ios,Objective C,Uitableview,Xcode5,Crash Reports,在我的应用程序崩溃后,我从设备日志中获取此崩溃日志。崩溃之前,我在UITableView内的搜索栏中单击了取消按钮 我怎样才能理解问题是什么,问题在哪里? 如何从生产设备调试此类日志 Thread 0 Crashed: 0 libsystem_kernel.dylib 0x3b74b1fc __pthread_kill + 8 1 libsystem_pthread.dylib 0x3b7b2a4e pthread_kill + 54 2 libsy

在我的应用程序崩溃后,我从设备日志中获取此崩溃日志。崩溃之前,我在
UITableView
内的搜索栏中单击了取消按钮

我怎样才能理解问题是什么,问题在哪里? 如何从生产设备调试此类日志

Thread 0 Crashed:
0   libsystem_kernel.dylib          0x3b74b1fc __pthread_kill + 8
1   libsystem_pthread.dylib         0x3b7b2a4e pthread_kill + 54
2   libsystem_c.dylib               0x3b6fc028 abort + 72
3   libc++abi.dylib                 0x3ab4a98a abort_message + 70
4   libc++abi.dylib                 0x3ab636e2 default_terminate_handler() + 250
5   libobjc.A.dylib                 0x3b19b936 _objc_terminate() + 190
6   libc++abi.dylib                 0x3ab611b0 std::__terminate(void (*)()) + 76
7   libc++abi.dylib                 0x3ab60d12 __cxa_rethrow + 98
8   libobjc.A.dylib                 0x3b19b80a objc_exception_rethrow + 38
9   CoreFoundation                  0x30d724e2 CFRunLoopRunSpecific + 638
10  CoreFoundation                  0x30d7224e CFRunLoopRunInMode + 102
11  GraphicsServices                0x35aac2e6 GSEventRunModal + 134
12  UIKit                           0x33627840 UIApplicationMain + 1132
13  MYAPPNAME                           0x000ffc44 0xfa000 + 23620
14  libdyld.dylib                   0x3b694ab4 start + 0
-------编辑------

我得到最后一个异常回溯:

0   CoreFoundation                  0x30e3ee7e __exceptionPreprocess + 126
1   libobjc.A.dylib                 0x3b19b6c2 objc_exception_throw + 34
2   CoreFoundation                  0x30e3ed50 +[NSException raise:format:arguments:] + 100
3   Foundation                      0x317e70aa -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 86
4   UIKit                           0x33796348 -[UITableView _endCellAnimationsWithContext:] + 7940
5   MYAPPNAME                           0x00233972 0xfa000 + 1284466
6   MYAPPNAME                           0x00232e3c 0xfa000 + 1281596
7   MYAPPNAME                           0x00232fd8 0xfa000 + 1282008
8   MYAPPNAME                           0x002319d4 0xfa000 + 1276372
9   Foundation                      0x3181933a __NSFireDelayedPerform + 410
10  CoreFoundation                  0x30e09e7a 
__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 10
11  CoreFoundation                  0x30e09a96 __CFRunLoopDoTimer + 790
12  CoreFoundation                  0x30e07e1e __CFRunLoopRun + 1214
13  CoreFoundation                  0x30d7246c CFRunLoopRunSpecific + 520
14  CoreFoundation                  0x30d7224e CFRunLoopRunInMode + 102
15  GraphicsServices                0x35aac2e6 GSEventRunModal + 134
16  UIKit                           0x33627840 UIApplicationMain + 1132
17  MYAPPNAME                           0x000ffc44 0xfa000 + 23620
18  libdyld.dylib                   0x3b694ab2 tlv_initializer + 2

崩溃是由于未处理的异常而发生的

虽然用Xcode organizer标记崩溃报告通常有帮助,但在这种情况下没有帮助,因为堆栈帧13将只显示类似于
main(main.m:14)
的内容

如果崩溃报告不包含
Last Exception Backtrace
部分,则该报告基本上没有意义

尝试在使用调试器运行应用程序时再现崩溃,或集成第三方崩溃报告解决方案,该解决方案能够提供
上次异常回溯
,以及
应用程序信息
部分,该部分提供详细的异常错误

有很多第三方解决方案,我不推荐,因为我会有偏见:)


更新:正如您现在提供的
上次异常回溯
所示,当tableview动画结束时,会触发一个断言。将崩溃报告符号化后,您将看到应用程序中的哪些代码行导致了此问题。

在xcode中取消符号化后发布完整的崩溃日志。我从xcode organizer获取此日志,取消符号化后,您需要按照其他注释和答案中的描述对崩溃报告进行符号化,然后您将看到是哪行代码导致了问题。我无法获取异常行,因为“复制期间删除调试符号”标志已设置为是。。。就像这里所要求的,用应用程序二进制进行符号化永远不会给出行号。您需要的是在精确构建时创建的dSYM。您链接到的答案是错误的,请参阅我的评论: