【问题标题】:sigsegv crash on iphone from crittercismsigsegv 在 iPhone 上因 crittercism 崩溃
【发布时间】:2012-09-16 10:11:13
【问题描述】:

我有几个 sigsegv 崩溃来自 crittercism,但我不太确定如何开始调试。唯一属于我的代码行是从崩溃线程开始的主调用。

从 crittercism 复制崩溃线程的堆栈跟踪:

原因:

2012 年 9 月 24 日 下午 2 点 38 分 14 秒 主要(main.m:11)

堆栈:

0 0 libobjc.A.dylib 0x356265b0 objc_msgSend + 15 1 1 UIKit 0x3861c313 + 1310 2 2 UIKit 0x386337cf + 206 3 3 UIKit 0x385ef80b + 258 4 4 石英核心 0x34f56d63 + 214 5 5 石英核心 0x34f56901 + 460 6 6 石英核心 0x34f57835 + 16 7 7 石英核心 0x34f5721b + 238 8 8 石英核心 0x34f57029 + 316 9 9 UIKit 0x386786e5 + 572 10 10 UIKit 0x386784a3 + 66 11 11 UIKit 0x38677391 + 1464 12 12 UIKit 0x385ed1ef + 2458 13 13 UIKit 0x385ec6d5 + 72 14 14 UIKit 0x385ec123 + 6154 15 15 图形服务 0x3779f5a3 + 590 16 16 核心基础 0x372f0683 + 14 17 17 核心基础 0x372efe9 + 212 18 18 核心基础 0x372eecb7 + 646 19 19 核心基础 0x37261ebd CFRunLoopRunSpecific + 356 20 20 核心基础 0x37261d49 CFRunLoopRunInMode + 104 21 21 图形服务 0x3779e2eb GSEventRunModal + 74 22 22 UIKit 0x38640301 UIApplicationMain + 1120 23 23 MyApp 0x35bf 主 (main.m:11)

【问题讨论】:

  • 此外,我还有很多其他奇怪的崩溃。可能是因为系统在内存不足警告后关闭了应用程序?

标签: iphone crash segmentation-fault


【解决方案1】:

首先,您需要“符号化”崩溃日志。有很多网页可以指导您。

由于此堆栈以 objc_msgSend 结束,因此最可能的原因是悬空指针。

要调试这些,我建议使用 NSZombies。如果你在模拟器上测试,你可以试试“Guard malloc”。

【讨论】:

    【解决方案2】:

    此崩溃是由于在指向已释放对象的指针上调用方法引起的。这是您代码中某个非常常见的引用计数错误,它包含在 UIKit 元素上。但是,在实践中您应该做的是将您的 .DSYM 文件上传到 crittercism。它可以通过网站手动完成,也可以通过 Web API call 作为自动构建过程的一部分来完成。

    【讨论】:

      猜你喜欢
      • 2013-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-24
      相关资源
      最近更新 更多