iphone – Thread 1: EXC_BAD_ACCESS (code=1, address=0xf00000c)

iphone – Thread 1: EXC_BAD_ACCESS (code=1, address=0xf00000c)

As a comment said this error is likely to be deep in your code. If the culprit is a zombie, the easiest way to find it is to run it (preferably in the latest Xcode, currently Xcode 5, as it has been improved) in profiler and choose Zombies. When it fails, you can see the history of everything that has happened to the object.

Also, set an exception breakpoint. You may get a break when the error happens instead of in main, where the exception gets passed up.

I resolved this problem with Zombies and the problem was with
[UIScrollView(UIScrollViewInternal) _notifyDidScroll]

I added

- (void)dealloc {

  self.tableView.delegate = nil;

} 

This problem was only in iOS 7.

Thanks for help!

iphone – Thread 1: EXC_BAD_ACCESS (code=1, address=0xf00000c)

I have resolve this issue only by debugging the source code and re-analyze my logic.

Below are some reference that help me lot.

EXC_BAD_ACCESS means that message was sent to a point in the memory where there’s no instance of a class to execute it. Thus “bad access”.

You will get EXC_BAD_ACCESS in 3 cases:

  • An object is not initialized
  • An object is already released
  • Something else that is not very likely to happen

That’s already a good starting point. Start using the debugger, if you recently added a new object to the class you’re working on, put a breakpoint at the line before the freshly added object is used for the first time and check the values in the debugger.

What’s happening most though is that you will be sending a message to an overreleased object – i.e. object that is gone from the call stack. In this cases everything (and indeed everything) you will get in the console will be just :EXC_BAD_ACCESS

This is because the object is gone, there is no information what class was it, or what source file or anything else.

Please try to avoid using zombies for this.

Leave a Reply

Your email address will not be published.