内存泄漏过度释放检測

假设出现exc_bad_access错误,基本上是因为内存泄漏,错误释放。对一个已经释放的对象进行release操作。可是xcode有时候不会告诉你错误在什么地方(Visual Studio这点做得非常好)。只是我们能够通过设置xcode环境变量环境变量NSZombieEnabled,MallocStackLogging查看错误的来源:

设置xcode环境变量NSZombieEnabled,MallocStackLogging的步骤,以Xcode4.5为样例:

1.点击XCode的Product菜单。选择Edit Scheme...选项

2.选择左側的Run...,右边点击Arguments

3.在Environment Variables栏里,加入NSZombieEnabled,value为YES。再加入MallocStackLogging,value为YES;

例如以下图所看到的:

                      

以上选项仅仅能在模拟器上有效,假设你改变了iOS的版本号,须要又一次设定。

 

调试结束后,最好记得把环境变量NSZombieEnabled,MallocStackLogging前面的勾去掉。由于它们会使得内存不会被释放.


posted @ 2016-04-20 09:33  lcchuguo  阅读(376)  评论(0编辑  收藏  举报