-->

EXC_BAD_ACCESS被记录在哪里? [关闭](Where is EXC_BAD_ACCE

2019-08-17 08:11发布

一个在我自己的发展(的Mac,iOS版)更平常的调试错误是EXC_BAD_ACCESS。 尽管它的共性,它的起源和确切含义保持神秘。 谷歌列出了错误的许多事件,但唯一的解释我能找到的是非正式的,不完整的。

我知道,这个异常(如果那是它的正确的术语)意味着代码试图访问一个地址,它不具有读取和/或写入权限,空地址,例如,或外部的地址进程的地址空间。 但是,这是基于我的虚拟内存和受保护的内存系统之前经历了一个直观的解释。 我从来没有见过任何地方EXC_BAD_ACCESS记录,而事实上我不知道“谁”是给我这个异常的CPU的Mac OS,UNIX,运行,调试器? - 所以我不知道是谁问(即是,咨询什么类的文档)。 我想知道,比如,什么都列出了异常的“码”的意思。 或者另外一个例子:有什么类似的例外(大概也标记为“EXC_”)的其他类也可能来自同一来源?

我在哪里可以找到EXC_BAD_ACCESS,它的代码和通用语义的解释,从权威渠道? 什么权威的来源,谁是真正的检测,并抛出异常?

Answer 1:

唯一的官方文档,我已经能够找到EXC_BAD_ACCESS是一个技术性的Q&A被称为在可可项目查找EXC_BAD_ACCESS错误 。 它的日期,只确认自己已经知道:

这类问题通常是过度释放对象的结果。 它可以是非常混乱的,因为故障往往错误后作出很好发生。 而该计划是在框架代码深,往往没有自己的代码在堆栈中可见,也可能发生崩溃。

事实上,它可以非常混乱。 至少苹果承认了。 :)



文章来源: Where is EXC_BAD_ACCESS documented? [closed]