我使用NSSetUncaughtExceptionHandler
将堆栈跟踪打印到 iPhone 中的本地文件,该文件将在下次启动应用程序时发送到我们的服务器。然后我可以检查异常数据并修复错误。在某些崩溃中,我有模块名称和引发异常的函数,这些都很容易。但大多数情况下我有这样的事情:
"4 libc++abi.dylib 0x35bba3c5 _ZL19safe_handler_callerPFvvE + 76",
"5 libc++abi.dylib 0x35bba451 _ZdlPv + 0",
"6 libc++abi.dylib 0x35bbb825 __cxa_current_exception_type + 0",
"7 libobjc.A.dylib 0x37bab2a9 objc_exception_rethrow + 12",
"8 CoreFoundation 0x3575a50d CFRunLoopRunSpecific + 404"
例如原因:
*** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array
但是我的应用程序中有几十个数组,所以我需要帮助来找到引发异常的特定行,使用从堆栈跟踪中获得的数据。
有谁知道 Apple 或其他公司的一篇好文章/教程,我可以在其中学习解码堆栈跟踪中的数字以在源代码中找到有问题的行。提前致谢!