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

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...