I get an EXC_BAD_ACCESS
error at a place that doesn't have anything to do with the root cause. I fortunately found the reason to be an array that was too small for the following statement [data getBytes:&tcpBuffer length:i];
.
Now my question: I tried all these theree methods - but without success:
- Using NSZombiesEnabled did not change anything in the debug window printout
- When I set the scheme to debug and to use Leaks instrument it starts the leaks instruments but I don't see the debugger.
- When I just run the app in iPhone Simulator and the start Instruments separately, selecting the running app as a target (in the pop-up-menu in Instruments) it stops with an error saying something like "couldn't find the target ".
How does one find the root cause in cases like that? Keep in mind, at the end, it wasn't even a Zombie error! This error message is REALLY more confusing than helpful!
(luckily I just thought of my array, but surely, the next time this will haunt me somewhere else)
It's quite likely that the place you get the
EXC_BAD_ACCESS
will not be related to the root cause. It could be related and could therefore offer a clue. But that's not certain.To answer your points:
NSZombiesEnabled
will only have an effect if you invoke a method on an object that has been deallocated. That might not be the cause of yourEXC_BAD_ACCESS
.Using Instruments is separate to the debugger. If you profile in Instruments, the debugger is not active. Basically, it's a different tool.
This should be ok. Check that your Build Configuration is set to "Debug" and not "Release".
Here's a great link on what causes
EXC_BAD_ACCESS
and how to track down the root problem:Lou Franco's Understanding EXC_BAD_ACCESS