美文网首页iOS开发
ips文件符号化

ips文件符号化

作者: 一只小蜘蛛_ | 来源:发表于2019-07-18 14:32 被阅读0次

最近遇到测试给到ips文件,在此记录下ips文件符号化的步骤。

第一步:导出ips文件

方法就是在手机里找到设置->隐私->分析->分析数据;文件名格式就是APP包名+时间的ips文件

第二步:准备相关文件

在桌面新建carsh文件夹,该文件夹需要导入四样东西;

第一个:从设备导出的ips文件,需要改后缀名为crash

第二个:找到

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash 路径,把symbolicatecrash拷贝到crash文件夹中

第三个:打开Xcode->window->Organizer,找到对应版本的archives,右键Show in Finder,选中xcarchive文件右键显示包内容,拷贝出dSYMs文件夹下的dSYM文件

第四个:打开Xcode->window->Organizer,找到对应版本的archives,右键Show in Finder,选中xcarchive文件右键显示包内容,拷贝出Products->Applications文件夹下的APP文件

第三步:开始解析

然后打开终端,cd到carsh文件夹下执行以下命令:

./symbolicatecrash  xxx.carsh  xxx.dSYM  > log.crash

执行之后,终端可能报错 Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.

继续执行以下命令:

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

然后,再继续执行之前命令,此时carsh文件夹内应该就能看到一个log.crash文件,打开此文件,就能更好的定位问题所在了。

生成的log.crash文件则为符号化了的崩溃日志

注意检查.app.dSYM与.app的uuid是否一致

dwarfdump --uuid 名称.app.dSYM

dwarfdump --uuid 名称.app/名称

因为解析前的ips文件是十六进制的堆栈信息,所以我们需要对这些数据进行符号化转换,将堆栈地址转化为我们可识别的一些类名、方法名等符号信息。

相关文章

网友评论

    本文标题:ips文件符号化

    本文链接:https://www.haomeiwen.com/subject/gmlllctx.html