iOS 下的崩溃日志还原
一、相关文件获取
1、carsh 文件
首先是获取到 carsh 日志文件,但是获取到之后是没有符号表的,所以看不出是什么东西。可以用 pc 或者 mac 获取到日志文件。
2、dSYM 文件获取
获取到 dSYM 以解析出到底崩在哪一行,Xcode –> Window –> Organize 中找到自己上传 appStore 中的包,右键 –> Show in Finder –> 显示包内容 –> 将 dSYM 文件 copy 出来。
3、symbolicatecrash 工具
在 Xcode 中自带有 symbolicatecrash 工具,用来解析 crash 文件,路径为:
1 | /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash |
二、还原日志
上述三个文件放在同一文件夹中,名字要一致。
方法 a
终端输入:
1 | /Users/admin/Desktop/myappcrash/symbolicatecrash |
方法 b
cd 命令进入此文件夹中
1 | cd /Users/admin/Desktop/myappcrash |
然后输入:
1 | ./symbolicatecrash ./MyAppName.crash ./MyAppName.app.dSYM > MyAppCrash.log |
参考:解析苹果审核反馈崩溃日志 .txt / .crash 文件
错误 1
出现有 line 69 的错误,需要设置环境变量:
1 | export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer |
错误 2
出现 line 121 错误,如
1 | Error: can't find tool named 'otool' in the macosx SDK or any fallback SDKs at ./symbolicatecrash line 121. |
则需要确定一下是否拿到了正确的 symbolicatecrash 文件。利用以下代码在终端中可以拿到正确的 symbolicatecrash 文件路径。
1 | find /Applications/Xcode.app/ -name symbolicatecrash |
symbolicatecrash 路径. png
比如我在路径 A 和 Current 都各有一个 symbolicatecrash,拿到正确的就不会报错了。
三、解析日志
参考:iOS 应用崩溃日志分析
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment