假设出现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前面的勾去掉。由于它们会使得内存不会被释放.


相关文章:

  • 2021-05-02
  • 2021-12-12
  • 2021-04-20
  • 2021-09-26
  • 2022-01-03
  • 2021-09-13
  • 2021-10-04
  • 2022-02-04
猜你喜欢
  • 2022-12-23
  • 2021-12-22
  • 2022-02-19
  • 2022-12-23
  • 2022-01-06
相关资源
相似解决方案