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

nmh*_*nmh 6 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
Run Code Online (Sandbox Code Playgroud)

我的问题:

  1. com.apple.root.default-overcommit-priority手段?(也许记忆?)
  2. 为什么第二行是???
  3. 如何解决这个问题?

感谢您抽出宝贵时间来帮我解决这个问题.

Fai*_*mon 1

com.apple.root.default-overcommit-priority调度队列的名称;我认为这对于这个问题来说并不重要。

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

您已经创建或通过库引入了方法Parse吗?ukeylist_get_scan

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

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

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