我们制作了一个崩溃日志系统,可以记录所有崩溃并让服务器存储它们。我们遇到了很多崩溃,但我们不知道是什么原因造成的。游戏已经运行了几个月,我们从未在游戏运行(调试、开发阶段等)时看到任何此类崩溃。
奇怪的是,我们得到了一堆这样的错误。我尝试在代码中查看它们,但似乎它们都还好。如果不是,它应该立即崩溃。
我们唯一得到的是一个信息量不大的堆栈跟踪。我们无法从堆栈跟踪中获得任何线索,因为它不包含我们的代码中的任何内容。
我想知道为什么会发生这种崩溃以及为什么它只给我这个堆栈跟踪。我在下面发布了崩溃日志。谢谢。
+++++++++++++++++++++++++++++++++++++++++++
#1 - Mutating method sent to immutable object (Dictionary)
-[__NSCFDictionary removeObjectForKey:]: mutating method sent to immutable object
(
\4 libc++abi.dylib 0x30e093c5 _ZL19safe_handler_callerPFvvE + 76\"
\"5 libc++abi.dylib 0x30e09451 _ZdlPv + 0\"
\"6 libc++abi.dylib 0x30e0a825 __cxa_current_exception_type + 0\"
\"7 libobjc.A.dylib 0x3687d2a9 objc_exception_rethrow + 12\"
\"8 CoreFoundation 0x353ac50d CFRunLoopRunSpecific + 404\"
};
+++++++++++++++++++++++++++++++++++++++++++
#2 - Inserting nil object in array
*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil
(
\4 libc++abi.dylib 0x380eb3c5 _ZL19safe_handler_callerPFvvE + 76\"
\"5 libc++abi.dylib 0x353e5451 _ZdlPv + 0\"
\"6 libc++abi.dylib 0x353e6825 __cxa_current_exception_type + 0\"
\"7 libobjc.A.dylib 0x35d1b2a9 objc_exception_rethrow + 12\"
\"8 CoreFoundation 0x3776b50d CFRunLoopRunSpecific + 404\"
};
+++++++++++++++++++++++++++++++++++++++++++
#3 - Array out of bounds
*** -[__NSArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]
(
\4 libc++abi.dylib 0x353e53c5 _ZL19safe_handler_callerPFvvE + 76\"
\"5 libc++abi.dylib 0x353e5451 _ZdlPv + 0\"
\"6 libc++abi.dylib 0x353e6825 __cxa_current_exception_type + 0\"
\"7 libobjc.A.dylib 0x35d1b2a9 objc_exception_rethrow + 12\"
\"8 CoreFoundation 0x3776b50d CFRunLoopRunSpecific + 404\"
};