【发布时间】:2013-12-05 00:43:15
【问题描述】:
我的程序使用递归。我不能给你看代码,因为它很大。
如果我使用递归到 long 我得到这个
EXC_BAD_ACCESS (code=2, address = 0xb03b1fcc)
当我尝试打印带有此错误的对象时,我得到了
EXC_BAD_ACCESS (code=2, address = 0xb03b1fcc). The process has been returned to the state before expression evaluation.
这是什么意思?我该如何解决这个问题?
【问题讨论】:
-
不幸的是,这是一个非常常见的错误,通常是因为空引用,这意味着当您尝试使用对象时,它的值为“nil”。除非您显示一些代码,否则很难为您提供帮助。
-
我要检查的第一件事是被递归的对象是否可能为空,以及代码是否在对其进行操作之前检查它是否为空。
-
您可以使用 stepper 找到哪条线通向它,然后发布您的代码的那部分。
-
问题不在于某些东西是零; nil 不会导致错误的访问。您的问题是对象已被过度释放。第一个主要问题是您使用 ARC 吗?
标签: objective-c recursion exc-bad-access