方法一:atos 解析 iOS 的错误崩溃日志
错误堆栈信息示例:
myapp 0x00000001002abc74 0x00000001000b4000 + 2063476
- 找到对应的应用打包生成 的appName.dYSM 文件,在终端中使用cd命令进入该目录
- 用atos命令来符号化某个特定的模块加载地址:
xcrun atos --arch arm64 -o myapp.app.dSYM/Contents/Resources/DWARF/myapp -l 0x0000000104988000 0x00000001062fc68c
方法二:利用mach-o文件格式结构,定位错误函数
- iPhone越狱,通过 Cydia 安装 Apple File Conduit "2"
Snip20210609_3.png
- 通过爱思助手,将手机上对应的应用拷贝到桌面
Snip20210609_5.png
- 通过hopper disassembler解析文件
错误示例:0x00000001052982f4 0x000000010483c000 + 10863348
- 将 10863348 转化为十六进制 0xA5C2F4
- 加上pagezero长度100000000得到结果 0x100A5C2F4
Snip20210609_6.png
- 定位到发生错误函数
Snip20210609_7.png