根据bugly调用堆栈信息定位错误代码位置

方法一:atos 解析 iOS 的错误崩溃日志

错误堆栈信息示例:
myapp 0x00000001002abc74 0x00000001000b4000 + 2063476

  1. 找到对应的应用打包生成 的appName.dYSM 文件,在终端中使用cd命令进入该目录
  2. 用atos命令来符号化某个特定的模块加载地址:
xcrun atos --arch arm64 -o myapp.app.dSYM/Contents/Resources/DWARF/myapp -l 0x0000000104988000 0x00000001062fc68c 

方法二:利用mach-o文件格式结构,定位错误函数

  1. iPhone越狱,通过 Cydia 安装 Apple File Conduit "2"
Snip20210609_3.png
  1. 通过爱思助手,将手机上对应的应用拷贝到桌面
Snip20210609_5.png
  1. 通过hopper disassembler解析文件

错误示例:0x00000001052982f4 0x000000010483c000 + 10863348

  • 将 10863348 转化为十六进制 0xA5C2F4
  • 加上pagezero长度100000000得到结果 0x100A5C2F4
Snip20210609_6.png
  • 定位到发生错误函数
Snip20210609_7.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容