欢迎光临
我们一直在努力

aps检查指什么iOS-crash日志解析汇总

如图下列3图所示:

QA同学发给你的, 也可能是apple审核人员发来的.

公司自己的崩溃日志收集系统

命令格式:

symbolicatecrash工具  .crash日志文件  .dSYM文件  >  输出结果文件.crash

例如: 

配置环境变量DEVELOPER_DIR

export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer

没有配置的错误提示:

查找symbolicatecrash

执行命令: 

我的路径如下:

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

检查dSYM 文件 与 crash日志是否匹配

方法: 比对 uuid

获取dSYM uuid, 执行命令: 

崩溃日志uuid查看: 

<1>查找字段slice_uuid; 

<2>如果没找到slice_uuid, 则查找Binary Images, 其后第一个连续长字符串即是.

dSYM与crash日志uuid一直, 则两者匹配.

查找CrashSymbolicator.py

执行命令: 

我的路径: 

/Applications/Xcode.app/Contents/SharedFrameworks/CoreSymbolicationDT.framework/Versions/A/Resources/CrashSymbolicator.py

CrashSymbolicator.py解析命令

sudo python3 /Applications/Xcode.app/Contents/SharedFrameworks/CoreSymbolicationDT.framework/Versions/A/Resources/CrashSymbolicator.py -d ./xxx.app.dSYM -o ./result.ips -p ./origin.ips

xcrun atos -o {executable} -arch {architecture} -l {loadAddress} {stackAddress}

打开崩溃日志文件,找到想要解析的内存地址, 如下图所示:

: 符号的栈地址

: 二进制加载地址

命令行举例:

= 代码段的起始地址 vmaddr

= 86xxxxx(偏移) + start address

通过 otool 命令获得 dSYM 的代码段起始地址

命令格式: 

查找start address

在result_findAddress.text中

搜索下

后的地址即start address.

arm64 → arm64e问题

error tips:

atos cannot load symbols for the file /Users/usernamexxx/Library/Developer/Xcode/iOS DeviceSupport/16.0 (20A362) arm64e/Symbols/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore for architecture arm64.

Died at ./symbolicatecrash line 1207.

解决办法: .

参考链接: 

赞(0)
未经允许不得转载:上海聚慕医疗器械有限公司 » aps检查指什么iOS-crash日志解析汇总

登录

找回密码

注册