我的iPhone应用程序崩溃了,我从Crashlytics(iPhone 5C,iOS 7.1.1)获得了以下堆栈跟踪。它持续500多行,我看不到任何在任何地方引用我的代码的东西。有什么办法可以调试吗?
崩溃:com.apple.root.default-priority EXC_BAD_ACCESS KERN_PROTECTION_FAILURE位于0x04fccfe0
- libsystem_c.dylib __vfprintf + 29
- libsystem_c.dylib __v2printf + 374
- libsystem_c.dylib __v2printf + 374
- libsystem_c.dylib _vsnprintf + 348
- libsystem_c.dylib vsnprintf + 72
- libsystem_c.dylib __snprintf_chk + 22
- 基础_writeJSONNumber + 1040
- 基础_writeJSONValue + 452
- 基础___writeJSONArray_block_invoke + 100
- CoreFoundation__53 - [__ NSArrayM enumerateObjectsWithOptions:usingBlock:] _ block_invoke + 90
- 的CoreFoundation - [__ NSArrayM enumerateObjectsWithOptions:usingBlock:] + 232
- 基金会 _writeJSONArray + 236
- 基金会 _writeJSONValue + 504
- 基金会 ___writeJSONArray_block_invoke + 100
- 的CoreFoundation __53 - [__ NSArrayM enumerateObjectsWithOptions:usingBlock:] _ block_invoke + 90
- 的CoreFoundation - [__ NSArrayM enumerateObjectsWithOptions:usingBlock:] + 232
- 基金会 _writeJSONArray + 236
- 基金会 _writeJSONValue + 504
- 基金会 ___writeJSONArray_block_invoke + 100
- 的CoreFoundation __53 - [__ NSArrayM enumerateObjectsWithOptions:usingBlock:] _ block_invoke + 90
- 的CoreFoundation - [__ NSArrayM enumerateObjectsWithOptions:usingBlock:] + 232
- 基金会 _writeJSONArray + 236
- 基金会 _writeJSONValue + 504
- 基金会 ___writeJSONArray_block_invoke + 100
- 的CoreFoundation __53 - [__ NSArrayM enumerateObjectsWithOptions:usingBlock:] _ block_invoke + 90
- 的CoreFoundation - [__ NSArrayM enumerateObjectsWithOptions:usingBlock:] + 232
醇>...
答案 0 :(得分:3)
由于堆栈溢出导致崩溃,请参阅重复序列:
Foundation _writeJSONArray + 236
Foundation _writeJSONValue + 504
Foundation ___writeJSONArray_block_invoke + 100
CoreFoundation __53-[__NSArrayM enumerateObjectsWithOptions:usingBlock:]_block_invoke + 90
CoreFoundation -[__NSArrayM enumerateObjectsWithOptions:usingBlock:] + 232
看起来你在某个地方将数组写入JSON结构,你的代码最终会无限循环。
您自己的代码未显示在堆栈跟踪中,因为堆栈跟踪太大(堆栈溢出)并且这些帧被推出历史记录。