iOS中crash的log解析

本文介绍如何使用Xcode中的symbolicatecrash和atos工具解析Crash日志,包括将Crash日志、dSYM文件和symbolicate工具放置在同一目录下进行解析的过程,以及如何确保app、dSYM文件和Crash日志之间的uuid一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Symbolicating Crash Reports With symbolicate

  1. find /Applications/Xcode.app -name symbolicatecrash -type f,
    找到/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
  2. 将crash 的log文件和symbolicate、对应的dYSM拷贝到同一个文件中
  3. ./symbolicatecrash ./.crash ./.app.dSYM > symbol.crash

2、Symbolicating Crash Reports With atos

命令格式:atos -arch <Binary Architecture> -o <Path to dSYM file>/Contents/Resources/DWARF/<binary image name> -l <load address> <address to symbolicate>

eg:

atos -arch arm64 -o TheElements.dSYM/Contents/Resources/DWARF/TheElements -l 0x1000e4000 0x00000001000effdc

注:

  • 确定dSYM、app以及crash文件的关系 每一个xx.app,
    xxx.app.dSYM文件都拥有相应的uuid,crash文件也有uuid,只有三者uuid一至才表明之三者可以解析出正确的日志文件。
    查看xx.app文件的uuid的方法,在terminal中输入命令: dwarfdump --uuid xxx.app/xxx
    (xxx工程名) 查看xx.app.dSYM文件的uuid的方法,在terminal中输入命令: dwarfdump --uuid
    xxx.app.dSYM (xxx工程名) 而.crash的uuid位于,crash日志中的Binary
    Images:中的第一行尖括号内。如: armv7 <8bdeaf1a0b233ac199728c2a0ebb4165>## 标题
  • 可能要解决的问题: export
    DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值