前言
为了对线上一些崩溃进行有效的监控和处理,一般我们会对崩溃信息进行统计。在处理崩溃信息的过程中,往往会需要找到这次崩溃信息对应的是哪一次的构建结果,这要怎么做?(假如你的应用中使用的crash统计工具已经集成了分析功能的可以忽略本文。)
问题及解决方案
- 怎么确认我测试中的版本某次的crash信息对应的是哪次构建?
每个可执行文件都有一个构建UUID,唯一标识它。crash日志包括崩溃的应用程序的构建UUID和崩溃时所加载的所有库。你需要验证构建版本的UUID和crash信息包含的UUID是否一致即可。
- 如和查看crash日志和构建的UUID信息
- 查看crash日志的构建UUID
①使用xcode连接崩溃设备,打开window->organizer,左侧应用列表选中你的app,顶部tab切换到crash,找到你的crash,右键菜单show in finder->显示包内容->/DistributionInfos/all/Logs,即可看到当前类型的所有闪退列表。
②在终端执行以下命令。
$ grep --after-context=2 "Binary Images:" Example.crash
你会看到类似这样的结果:
Binary Images: 0xb6000 - 0xb7fff +Example armv7 <270a9b9d7a333a4a9f1aaf8186f81394> /var/mobile/Applications/28D4F177-D312-4D3B-A76C-C2ACB4CB7DAD/Example.app/Example 0x2feb5000 - 0x2fed6fff dyld armv7 <4a817f3e0def30d5ae2032157d889c1d> /usr/lib/dyld
这里,构建UUID是270a9b9d7a333a4a9f1aaf8186f81394,和路径应用程序的可执行文件是Example.app/Example。
- 如何查看一个.ipa包的UUID
①解压.ipa文件
$ cp Example.ipa Example.zip $ unzip Example.zip
解压结果查看:
$ cd Payload $ ls Example.app
②你在终端可以使用以下命令打印一个可执行的构建UUID
$ xcrun dwarfdump --uuid Example.app/Example
示例结果:
UUID: 270A9B9D-7A33-3A4A-9F1A-AF8186F81394 (armv7) Example.app/Example UUID: 7711EC60-C0B2-3608-A539-182C77AE01ED (armv64) Example.app/Example
- 如何查看.dDYM文件的UUID
①使用终端输入以下命令即可
$ dwarfdump --uuid /Users/wusuowei/Desktop/Example.dSYM
示例结果:
UUID: FEB022C4-F950-37DD-8D19-D4C63D1D1474 (armv7) /Example.dSYM/Contents/Resources/DWARF/Example UUID: 250F0F9E-7855-3347-900A-F555442C9F29 (arm64) /Example.dSYM/Contents/Resources/DWARF/Example
- 查看crash日志的构建UUID
参考
How to Match a Crash Report to a Build
相关
时间: 2024-12-20 09:59:12