iOS崩溃,无法象征

Posted

技术标签:

【中文标题】iOS崩溃,无法象征【英文标题】:iOS crash, can't symbolicate 【发布时间】:2015-04-23 03:44:15 【问题描述】:

我的崩溃日志:

Application received signal SIGSEGV
(null)
(
  0   CoreFoundation                      0x0000000182ab02f4 <redacted> + 160
  1   libobjc.A.dylib                     0x00000001942d40e4 objc_exception_throw + 60
  2   CoreFoundation                      0x0000000182ab0218 <redacted> + 0
  3   yixia                               0x429496857fc2 _ZN15CTXAppidConvert17IsConnectionAppIdEPKc + 149220
  4   libsystem_platform.dylib            0x0000000194b0094c _sigtramp + 52
  5   yixia                               0x42949679ff82 yixia + 485740
  6   yixia                               0x4294967b8072 yixia + 584284
  7   libdispatch.dylib                   0x0000000194925994 <redacted> + 24
  8   libdispatch.dylib                   0x0000000194925954 <redacted> + 16
  9   libdispatch.dylib                   0x000000019492a20c _dispatch_main_queue_callback_4CF + 1608
  10  CoreFoundation                      0x0000000182a677f8 <redacted> + 12
  11  CoreFoundation                      0x0000000182a658a0 <redacted> + 1492
  12  CoreFoundation                      0x00000001829912d4 CFRunLoopRunSpecific + 396
  13  GraphicsServices                    0x000000018c1a76fc GSEventRunModal + 168
  14  UIKit                               0x0000000187556fac UIApplicationMain + 1488
  15  yixia                               0x4294967b8746 yixia + 586032
  16  libdyld.dylib                       0x0000000194952a08 <redacted> + 4
)

dSYM UUID: 220AF59E-3467-377E-B8AE-DA048BA93DDC
CPU Type: arm64
Slide Address: 0x429496729616x
Binary Image: yixia
Base Address: 0x00000001000a8000

我的dSYM 文件:dSYM。

我运行dwarfdump --arch=arm64 --lookup 0x429496857fc2 yixia.app.dSYM 并得到以下结果:

----------------------------------------------------------------------
 File: yixia.app.dSYM/Contents/Resources/DWARF/yixia (arm64)
----------------------------------------------------------------------
Looking up address: 0x0000429496739102 in .debug_info... not found.
Looking up address: 0x0000429496739102 in .debug_frame... not found.

我确定这段代码会导致崩溃:crash code。

调用+ (NSData *)generateGIFWithImage:(UIImage *)image andStickers:(NSArray *)stickers small:(BOOL)small withShareType:(NSUInteger)shareType后应用崩溃,截图:

然后我的 iPhone 失去了连接。

【问题讨论】:

请检查您是否已正确添加所有库和框架 @AshokLondhe 你为什么这么说? 有时应用程序会因为库而崩溃。如果缺少库。 @AshokLondhe Xcode 在编译前不显示缺少库错误吗? 从 Organizer 清除派生数据 【参考方案1】:

替换

dwarfdump --arch=arm64 --lookup  0x429496857fc2 yixia.app.dSYM

atos -arch arm64 -o yixia.app.dSYM/Contents/Resources/DWARF/yixia 0x429496857fc2

阅读this blog (written in Chinese)了解更多信息。

【讨论】:

【参考方案2】:

替换

dwarfdump --arch=arm64 --lookup  0x429496857fc2 yixia.app.dSYM

dwarfdump --arch=arm64 --lookup  0x4294967AFFC2 yixia.app.dSYM

您需要将file-address 设置为--lookup,而不是堆栈地址。 见this page

【讨论】:

以上是关于iOS崩溃,无法象征的主要内容,如果未能解决你的问题,请参考以下文章

如何象征从 Apple 收到的以 .txt 格式而不是 .crash 格式的崩溃报告

与开发者分享 iOS 应用崩溃报告

象征性的崩溃报告

iOS 崩溃符号

atos 和 dwarfdump 不会象征我的地址

Xcode 5 中的象征性崩溃