iOS分析app崩溃日志

2022-03-02  本文已影响0人  东也_

简单记录一下(感谢袁兄提供帮助)

问题描述:有时崩溃日志的调用堆栈只会显示地址,根本看不懂。

解决思路:

可以通过xcode提供的命令行工具atos工具,结合项目打包时生成的dSYM文件和崩溃的两个地址,解析出具体的调用推荐信息,包括类名-方法名甚至代码行数;

来一张官网的图:


image.png

操作步骤:

1. 找到崩溃日志中找到对应的的信息,包括包名(每个SDK都有包名-app项目也会被当做一个SDK) 、第一地址、第二地址;

2. 通过第一地址,从binary images中找到对应的架构类型和包名;

3. 找到打包时生成的dSYM文件,存放路径如:/Users/xxx/Library/Developer/Xcode/Archives/2022-02-28/你的项目名称\ 2022-2-28\,\ 4.02\ PM.xcarchive/dSYMs,这下面会有很多个dSYM文件,找到对应的binary image name(包名);如果没有 需要在项目build setting中设置debug information format 为 dwarf with dsym file;

4. 使用命令atos -arch 架构类型 -o  /Users/xxx/Library/Developer/Xcode/Archives/2022-02-28/你的项目名称\ 2022-2-28\,\ 4.02\ PM.xcarchive/dSYMs/包名.app.dSYM/Contents/Resources/DWARF/包名  -l 第一地址 第二地址

5. 最后可能生成类似于 `closure #2 in CloudClassCourseDetailVC.FWVodViewPlayFinish(_:isCount:isFinish:) + 9981160 (CloudClassCourseDetailVC.swift:1154)”;```
上一篇 下一篇

猜你喜欢

热点阅读