我已经在iOS上使用Objective C大约一个月,但有很多以前的C经验.
我对EXC_BAD_ACCESS的理解是它本质上是一个Segmentation Fault,即尝试访问允许区域之外的内存.虽然奇怪的是,我还在崩溃的iOS应用程序中特别看到了SIGSEGV.我注意到有一个代码参数(例如代码= 1)作为此异常的一部分,我想知道该代码具体意味着什么.
我在谷歌周围戳了一下,似乎无法找到关于此错误的正式文档,and apparently I’m not alone.有谁知道这里的代码参数是什么意思?
解决方法
如果查看设备上生成的崩溃日志,您会看到:
Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at <some address>
有关与异常关联的代码参数的进一步说明,可以参考usr / include / mach / kern_return.h.它提供了中等可读的常量名称以及与常量值相关联的短注释模糊.
打开该文件的最快方法是在Xcode文件中键入常量KERN_INVALID_ADDRESS,然后选择“跳转到定义”. 原文链接:https://www.f2er.com/iOS/328424.html