1

给定 iOS 上的崩溃报告(非符号化),有没有办法确定设备正在执行哪个架构(armv6 或 armv7)?

我为什么要问?我收到了一些与存档的 dSYM/可执行文件无关的崩溃报告。因此,我无法用自动化工具来象征它们。我想尝试将崩溃文件中记录的 UUID 更改为保留 dSYM 的版本(两个版本之间的更改可能只是资源文件更改[图像],因此编译的代码应该相同)。这可能允许我使用自动化工具来符号化报告并提取一些有意义的崩溃数据。

dwarfdump 显示我所拥有的可执行文件和 dSYM 符合预期,但它也显示每个(胖二进制)armv6 和 armv7 中都有两种架构。为了能够快速地将 UUID 替换为崩溃报告,我需要知道崩溃之前设备使用的架构。

4

2 回答 2

1

请参阅iOS Debugging Magic(技术说明 TN2239)了解和分析 iPhone OS 应用程序崩溃报告(技术说明 TN2151)

杰夫

于 2011-03-19T02:54:00.687 回答
1

为了更直接地回答原始问题(我希望),在崩溃日志中有一个“二进制图像”部分。这明确说明了正在运行的体系结构,如:“ Binary Images: 0x1000 - 0x167fff +appname armv7 <8195d6729b973c6190ab00f36dfb1dd6> /var/mobile/Applications/90AA05D9-0094-48BC-BD0A-CE4C1F1B6A93/appname.app/appname

" 在上面的例子中,它表示“armv7”。如果 armv6 版本正在运行,它会改为表示 armv6

于 2012-03-26T22:32:47.107 回答