Crash日志分析
来源:互联网 发布:qq飞车休闲区辅助源码 编辑:程序博客网 时间:2024/06/18 23:26
从Crash文件出发解决bug的一般步骤,分三步:
a, 获取设备上的崩溃日志。
b, 分析崩溃日志,找到报错位置(定位到函数和代码行数)。
c, 打开代码,改bug。
1, 获取设备日志
1. 在可以获取到运行app的手机,或者用户配合导出日志的情况下。可以将设备连接到电脑,然后与电脑上的iTunes同步,崩溃日志会同步到电脑上的指定文件夹。(上面博客有指明)
2. 在可以直接获取到运行app的手机的情况下。可以将设备连接到电脑,然后打开xcode软件,选择Window->Devices,然后可以在xcode中查看设备上的所有崩溃日志。
3. 在app已经上线的情况下,可以通过iTunes Connect获取用户的崩溃日志。
2, 解析日志
了解崩溃日志来源之后,提取对应项目崩溃的.crash文件,解析日志需要4样东西:1. 第一步中提取到的.crash文件。2. symbolicatecrash二进制文件。3. dSYM文件。4. app文件
2.1 在命令行输入下面的命令获取symbolicatecrash二进制文件,获取到路径后,copy一份出来
find /Applications/Xcode.app -name symbolicatecrash -type f
2.2 从Xcode Archive的二进制文件中找到.dSYM文件和.app文件copy一份出来
2.3 新建一个文件夹CrashReport,把上面提取到的4个文件放在该文件夹下面,一次运行下列命令
//命令行进入CrashReport目录cd Desktop/CrashReport///配置环境变量export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer//解析.crash文件./symbolicatecrash ./*.crash ./*.app.dSYM > symbol.crash
2.4 打开symbol.crash,发现和Xcode控制台崩溃日志是一样的了
2.5 改bug
参考资料(戳这里):
> iOS开发中善用日志记录工具
> Xcode崩溃日志分析工具symbolicatecrash用法
> 别用symbolicatecrash来解析crash Log了
> iOS调试之 crash log分析
> iOS应用的crash日志的分析基础
> 分析iOS Crash文件:符号化iOS Crash文件的3种方法
> iOS 应用Crash日志分析整理
> iOS Crash文件的解析(一)
> iOS Crash - 收集篇 iOS Crash - 解析篇 iOS Crash - 分析篇
> 漫谈iOS Crash收集框架
> Crash log符号化与调试信息
> Xcode7.3工具解析App崩溃日志(.crash文件)
> https://www.raywenderlich.com/33669/overview-of-ios-crash-reporting-tools-part-1
> https://www.raywenderlich.com/10209/my-app-crashed-now-what-part-1
> https://www.raywenderlich.com/10505/my-app-crashed-now-what-part-2
- Android crash 日志 分析
- iOS Crash 日志分析
- ios crash 日志分析
- crash日志的分析
- Crash日志,分析专用
- Crash日志分析
- iOS app crash日志分析
- iOS常见crash问题及crash日志分析
- 崩溃日志Crash文件分析方法
- iOS 崩溃日志 Crash Log 分析汇总
- JVM Crash 日志(hs_err_pid.log)分析
- iOS -友盟crash日志分析续集2
- 友盟 crash日志 内存地址分析
- 使用objdump进行Android crash 日志 分析
- [iOS Crashr日志分析一] Crash日志分析 工具准备
- IOS Crash日志分析(appStore提交返回的crash日志分析)
- 如何记录并分析CRASH日志方法一
- 如何记录并分析CRASH日志方法二
- UIView剖析之Draw、Size、Layout方法
- Xcode8-beat升级需谨慎
- Xcode Ghost
- Linux的SOCKET编程详解
- 自动布局库--Masonry使用
- Crash日志分析
- iOS书摘之Objective-C编程之道 iOS设计模式解析
- JavaScript基础(一)
- 在linux系统中使用date获取时间的坑
- 用GitHub+Jekyll搭建个人博客
- Swift网络库Alamofire的导入
- Cesium开发实践(一)移动小车
- UITableViewCellStyle 四种样式
- Java集合排序及java集合类详解:Set