ios – EXC_BAD_ACCESS中的代码参数是什么意思?

我已经在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,然后选择“跳转到定义”.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...