博客> 解决定位 有dYMs文件和xx.crash文件的crash bug,和umeng的错误日志分析
解决定位 有dYMs文件和xx.crash文件的crash bug,和umeng的错误日志分析
2018-04-19 20:45 评论:0 阅读:1093 郭鹏飞
crash dYMs archives

 weijiejue.png 1.首先查找 dYMs文件,Xcode - Window - Organizer 找到 对应的项目 上传的那个版本号,然后show in finder 然后copy出来到桌面 改后缀为 xxx.zip 然后打开 dYMs copy出来到一个新的文件夹(名字aaa)

2.查找xxx.crash可以从在Organizer下载,如果是审核反馈的crash那就在网页点开,会出现一个页面显示一堆log,然后command+s 导出到桌面,改后缀名为 xxx.crash 并放到aaa文件夹里

3.查找symbolicatecrash,find /Applications/Xcode.app -name symbolicatecrash -type f 然后出现好几个 查找iPhone OS的 如果没有的话那就是最后一个,我的是这样的/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

4.在终端中进入到aaa文件夹,运行 /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash XXX.crash XXX.app.dSYM >log.crash 在当前文件解出 log.crash

如果有Error: “DEVELOPER_DIR” is not defined at /usr/bin/symbolicatecrash xxxxxx 执行下 export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer

附 未解决和解决完后的对比图  ![ weijiejue.png ](/uploads/attachments/217024/20180130/566f0116f9777b6f28bf4e51ea7d85db.png)

 yijiejue.png


umeng的错误分析

第一步 下载错误分析工具 并解压zip得到umcrashtool文件,可将umcrashtool与已下载的xxx.csv文件放入同一目录下。

第二步 在terminal中运行umcrashtool命令,参数为错误分析的.csv文件绝对路径,如下: sanzhang$ ./umcrashtool [absolutely_path_of_csv_file] 将umcrashtool与错误分析.csv文件放入同一目录下

第三步 在terminal中运行umcrashtool,提示如下: Usage: umcrashtool [export-file-path],定位后的代码及行数会写入错误分析-symbol.csv文件,与原文件在同一目录下。用工具打开新生成的xxx-symbol.csv文件,便可查看错误发生的源码文件及行数。

注:如果错误分析没有成功,请先确保对应的 xxx.dSYM 文件在 ~/Library/Developer/Xcode/ 或该路径的子目录下。(对于每一个产品发布时archive操作会将dsym文件存放到~/Library/Developer/Xcode/Archives路径下,因此建议保留该路径下的文件,以便后续用工具分析错误。) (摘自umeng官网)

 A53F7851-FC2E-4B0D-8A8B-5A9D0793D4F4.png 打开终端 复制第一组箭头指向的内容,会出来一个地址, 然后复制出后面的dwarfdump --arch=arm64 --lookup 0x10014b86c "上面的地址" 然后结果中会有 Line table file: 'PermissionsController.m' line 88, column 23 with start address 0x000000010014b86c 是这个文件的第几行

收藏
1
sina weixin mail 回到顶部