美文网首页
iOS Crash日志解析 symbolicatecrash的使

iOS Crash日志解析 symbolicatecrash的使

作者: COPY之神 | 来源:发表于2017-05-04 11:29 被阅读0次

因项目需要,需要对设备的Crash日志进行解析,以此来定位bug的具体位置。今天我们使用Xcode自带的解析工具symbolicatecrash来进行日志的解析。首先我们创建crash文件夹,用来存放解析需要准备的以下4个文件工具。

1、symbolicatecrash路径:打开终端,输入:find /Applications/Xcode.app -name symbolicatecrash -type f (注意Xcode的路径要写对)

2、xxx.app.dSYM文件:Xcode-->Window-->Organizer-->显示包内容-->dSYMs

3、.app文件:Xcode-->Window-->Organizer-->显示包内容-->Products-->Applications

4、crash文件:可用以下三种方式:

  • Xcode-->Window-->Devices-->选中真机设备-->View Devices Logs-->右键Export Log

  • 使用iTunes同步数据,找到崩溃日志目录:Mac OS X:~/Library/Logs/CrashReporter/MobileDevice

  • 使用itools第三方软件对iPhone设备管理,打开高级功能-->崩溃日志

准备好以上文件后,打开终端:cd 将crash文件夹拖入终端,然后配置环境变量:export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer (注意Xcode路径)

最后一步,将symbolicatecrash、.crash文件、xxx.app.dSYM文件拖入终端 >new.crash,即可输出解析后的crash文件。

解析前后crash日志对比:

Last Exception Backtrace:
(0x18ed2afd8 0x18d78c538 0x18ed1c1b8 0x1000a1d8c 0x1000a1790 0x1000a27f8 0x194e8f0ec 0x194e8f06c 0x194e795e0 0x194e8e950 0x194e8e46c 0x194e89804 0x194e5a418 0x195653f64 0x19564e6c0 0x19564eaec 0x18ecd9424 0x18ecd8d94 0x18ecd69a0 0x18ec06d94 0x190670074 0x194ebf130 0x10012e2d8 0x18dc1559c)

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x000000018dd25014 0x18dd06000 + 126996
1   libsystem_pthread.dylib         0x000000018ddef334 0x18ddea000 + 21300
2   libsystem_c.dylib               0x000000018dc999c4 0x18dc38000 + 399812
3   libc++abi.dylib                 0x000000018d7651b0 0x18d764000 + 4528
4   libc++abi.dylib                 0x000000018d77ec04 0x18d764000 + 109572
5   libobjc.A.dylib                 0x000000018d78c820 0x18d784000 + 34848
6   libc++abi.dylib                 0x000000018d77b5d4 0x18d764000 + 95700
7   libc++abi.dylib                 0x000000018d77b1a8 0x18d764000 + 94632
8   libobjc.A.dylib                 0x000000018d78c6f8 0x18d784000 + 34552
9   CoreFoundation                  0x000000018ec06e00 0x18ebfe000 + 36352
10  GraphicsServices                0x0000000190670074 0x190664000 + 49268
11  UIKit                           0x0000000194ebf130 0x194e4a000 + 479536
12  CsiiMobileFinance               0x000000010012e2d8 0x100060000 + 844504
13  libdyld.dylib                   0x000000018dc1559c 0x18dc11000 + 17820
Last Exception Backtrace:
0   CoreFoundation                  0x18ed2afd8 __exceptionPreprocess + 124
1   libobjc.A.dylib                 0x18d78c538 objc_exception_throw + 56
2   CoreFoundation                  0x18ed1c1b8 -[__NSSingleObjectArrayI objectAtIndex:] + 128
3   CsiiMobileFinance               0x1000a1d8c -[HomeViewController navBtnEventWithCommond:] (HomeViewController.m:280)
4   CsiiMobileFinance               0x1000a1790 -[HomeViewController navButtonActionWithDic:withFlag:] (HomeViewController.m:202)
5   CsiiMobileFinance               0x1000a27f8 -[HomeViewController leftBtnAction:] (HomeViewController.m:399)
6   UIKit                           0x194e8f0ec -[UIApplication sendAction:to:from:forEvent:] + 96
7   UIKit                           0x194e8f06c -[UIControl sendAction:to:forEvent:] + 80
8   UIKit                           0x194e795e0 -[UIControl _sendActionsForEvents:withEvent:] + 440
9   UIKit                           0x194e8e950 -[UIControl touchesEnded:withEvent:] + 576
10  UIKit                           0x194e8e46c -[UIWindow _sendTouchesForEvent:] + 2480
11  UIKit                           0x194e89804 -[UIWindow sendEvent:] + 3192
12  UIKit                           0x194e5a418 -[UIApplication sendEvent:] + 340
13  UIKit                           0x195653f64 __dispatchPreprocessedEventFromEventQueue

另外,需要注意.app文件、.dSYM文件、.crash文件三者uuid必须一致,检查三者uuid的方法:

dwarfdump --uuid xxx.app/xxx (xxx工程名)

dwarfdump --uuid xxx.app.dSYM (xxx工程名)

而.crash的uuid位于,crash日志中的Binary Images:中的第一行尖括号内。如:

Binary Images:
0x100060000 - 0x10081ffff CsiiMobileFinance arm64  <7d42289bbe82371983fe1548c6fe5244> /var/

相关文章

网友评论

      本文标题:iOS Crash日志解析 symbolicatecrash的使

      本文链接:https://www.haomeiwen.com/subject/wburtxtx.html