鉴于iOS上的崩溃报告(非符号化),有没有办法确定设备正在执行哪种架构(armv6或armv7)?
我为什么这么问?我收到了一些与存档的dSYM /可执行文件无关的崩溃报告。因此,我无法使用自动化工具对它们进行符号化。我想尝试将崩溃文件中记录的UUID更改为保留dSYM的版本(两个版本之间的更改可能只是资源文件更改[images],因此编译后的代码应该相同)。这可以让我使用自动化工具来表示报告并提取一些有意义的崩溃数据。
dwarfdump显示我可以按预期匹配的可执行文件和dSYM,但它也显示每个(胖二进制)armv6和armv7中有两个体系结构。为了能够快速将UUID替换为崩溃报告,我需要知道在崩溃之前设备使用了什么体系结构。
答案 0 :(得分:1)
请参阅iOS Debugging Magic (Technical Note TN2239)和Understanding and Analyzing iPhone OS Application Crash Reports (Technical Note TN2151)。
杰夫
答案 1 :(得分:1)
为了更直接地回答原始问题(我希望),在崩溃日志中有一个“二进制图像”部分。这明确说明了正在运行的体系结构,如: “ 二进制图像: 0x1000 - 0x167fff + appname armv7< 8195d6729b973c6190ab00f36dfb1dd6> /var/mobile/Applications/90AA05D9-0094-48BC-BD0A-CE4C1F1B6A93/appname.app/appname
” 在上面的例子中,它表示“armv7”。如果armv6 versio正在运行,它会说armv6而不是