当表示iOS崩溃时,脚本使用存储在~/Library/Developer/Xcode/iOS DeviceSupport
中的iOS调试符号。我从iOS 7.1.2(11D257)崩溃了,其中模块列表中的所有行都有 armv7s 架构,如下所示:
0x30c8d000 - 0x30e77fff Foundation armv7s <52121842f9863ab49b775758dd05db0b> /System/Library/Frameworks/Foundation.framework/Foundation
我在DeviceSupport下有这个非常版本的iOS,但系统堆栈点无法符号化;该脚本声称没有任何iOS文件具有armv7s切片。的确,如果我跑
lipo -info '~/Library/Developer/Xcode/iOS DeviceSupport/7.1.2 (11D257)/Symbols/System/Library/Frameworks/Foundation.framework/Foundation'
它表示只存在 armv7 。
我从iPhone 4中取出符号;它的CPU不支持armv7s。如果您有支持armv7s的设备(iPhone 5 +,iPad 3 +)和iOS 7.1.2,请运行相同的命令并确认您拥有的Foundation版本是否包含armv7s切片?
答案 0 :(得分:1)
您可以使用armv7s或arm64 CPU从设备获取armv7s iOS系统符号。 iPhone 4有一个armv7 CPU,所以它显然无法为你提供armv7s符号。