iOS系统app崩溃日志手动符号化

您所在的位置:网站首页 ios崩溃代码复制 iOS系统app崩溃日志手动符号化

iOS系统app崩溃日志手动符号化

2023-04-11 20:29| 来源: 网络整理| 查看: 265

iOS系统app崩溃日志手动符号化步骤:

方法一、使用symbolicatecrash工具进行符号化

1.在桌面建立一个crash文件夹,将symbolicatecrash工具、.crash文件、.dSYM文件放到该文件夹中

a.如何查询symbolicatecrash路径位置?

执行命令:find /Applications/Xcode.app -name symbolicatecrash -type f然后将symbolicatecrash复制一份 例如:Xcode7.3的symbolicatecrash路径/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrashb.crash文件为崩溃app对应版本的崩溃日志c.dSYM文件为崩溃app对应版本的符号文件2.在终端中进入到dsym文件夹下,执行命令:./symbolicatecrash *.crash *.dSYM > crash.log'*'为app对应的名字如果报错:在当前窗口下执行命令:export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer然后再次执行命令:./symbolicatecrash *.crash *.dSYM > crash.log

方法二、使用Xcode进行符号化

1.在桌面建立一个crash文件夹,将 *.crash文件、*.dSYM文件、*.app文件(将*.ipa的后缀改为zip,然后解压缩得到。经过尝试发现,没有*.app这个文件也是可以的) 放到该文件夹中

2.打开Xcode->Window->Devices页面,选中一个Device,点击“View Device Logs”按钮,进入设备crash日志展示页面。3.将 *.crash文件拖进入,刷新即可。

方法三、使用命令行工具atos进行符号化

简单介绍:每个crash日志都包含发生crash应用(app)的UUID以及crash发生的时间;每一个UUID对应工程的每一次build。简而言之,每个UUID对应一个应用app。1.在桌面建立一个crash文件夹,将symbolicatecrash工具、.crash文件、.dSYM文件放到该文件夹中。2.查询crash文件的UUID。打开终端,进入crash文件夹目录下运行命令:grep "appName armv" *crash 或者 grep --after-context=2 "Binary Images:" *crash 运行结果:appName 2017-4-19 下午3-36_log.crash:Binary Images:appName 2017-4-19 下午3-36_log.crash-0x100008000 - 0x1011b3fff appName arm64 /var/containers/Bundle/Application/2C08154B-E0AC-4007-A54C-DF1403BA45CE/appName.app/appNameappName 2017-4-19 下午3-36_log.crash-0x1022d4000 - 0x102307fff dyld arm64 /usr/lib/dyld--说明:“0x100008000”为模块加载地址, “0x1011b3fff”将要被符号化的地址3.查询app的UUID。运行命令:xcrun dwarfdump --uuid appName.app/appName运行结果:UUID: 92C850CB-2114-3C04-9C25-5C69AF3A3010 (arm64) appName.app/appName

4.对比app的UUID 与 crash的UUID是一致,如果一致的话开始进入内存地址符号化有三个命令可以进入使用:xcrun atos -o appName.dSYM/Contents/Resources/DWARF/appName -l 0x100008000 -arch arm64 注释:0x100008000为模块加载地址

xcrun atos -o appName.dSYM/Contents/Resources/DWARF/appName -arch arm64xcrun atos -o appName.app/appName -arch arm64

执行过上面命令后,接着就可以输入 需要符号化的地址了abcdeMacBook-Pro:24 zhoufei$ xcrun atos -o appName.dSYM/Contents/Resources/DWARF/appName -l 0x192a28000 -arch arm640x0000000192a3b7ec



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3