iOS:com.apple.root.default-overcommit-priority

时间:2014-07-09 10:40:45

标签: ios

我收到Crashlytics的崩溃:

Crashed: com.apple.root.default-overcommit-priority
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x8b2b0353

Thread : Crashed: com.apple.root.default-overcommit-priority
0  myApplication                  0x0028f0c4 Parse
1  ???                            0xffffffc9 
2  myApplic                       0x00291073 ukeylist_get_scan
3  libsystem_pthread.dylib        0x3aac9c5d _pthread_body + 140
4  libsystem_pthread.dylib        0x3aac9bcf _pthread_start + 102

我的问题:

  1. com.apple.root.default-overcommit-priority是什么意思? (也许记忆?)
  2. 为什么第二行是???
  3. 如何解决此问题?
  4. 感谢您抽出宝贵时间帮我解决此问题。

1 个答案:

答案 0 :(得分:1)

com.apple.root.default-overcommit-priority是调度队列的名称;我认为这不是解决这个问题的重要因素。

第二行很有意思,地址非常高。

您创建或通过库引入的Parseukeylist_get_scan方法是什么?

您拥有的无效内核地址很有趣;它是我希望对代码有效的范围内的地址。通常你会在崩溃中得到一个非常低的值,例如0x20(这表明在某处有一个零)。

我认为你有使用Parse方法解析一些输入数据的代码,但是你的代码不能很好地处理意外数据。因此,我建议您在Parse方法上编写更多防御性代码(假设它是您的方法之一),并尝试编写一些传递错误数据的单元测试代码。

如果这只是一个没有再看到的奇怪问题,那么你无能为力。否则你可以看一下整体模式,看看更多的线索;例如始终是相同的设备,或始终是某个操作系统版本,或始终是低端设备等。