假设出现exc_bad_access错误,基本上是由于内存泄漏,错误释放。对一个已经释放的对象进行release操做。但是xcode有时候不会告诉你错误在什么地方(Visual Studio这点作得很是好)。只是咱们可以经过设置xcode环境变量环境变量NSZombieEnabled,MallocStackLogging查看错误的来源:xcode
设置xcode环境变量NSZombieEnabled,MallocStackLogging的步骤,以Xcode4.5为样例:spa
1.点击XCode的Product菜单。选择Edit Scheme...选项调试
2.选择左側的Run...,右边点击Argumentscode
3.在Environment Variables栏里,加入NSZombieEnabled,value为YES。再加入MallocStackLogging,value为YES;对象
例如如下图所看到的:blog
以上选项仅仅能在模拟器上有效,假设你改变了iOS的版本号,需要又一次设定。内存
调试结束后,最好记得把环境变量NSZombieEnabled,MallocStackLogging前面的勾去掉。因为它们会使得内存不会被释放.it