background image

使用

 

     Xcode

 

     

       Instruments

 

     

调试解决

 

     iOS

       

内存泄露

 

  

虽然

iOS 5.0 版本之后加入了 ARC 机制,由于相互引用关系比较复杂时,内存泄露还是可

能存在。所以了解原理很重要。
这里讲述在没有

ARC 的情况下,如何使用 Instruments 来查找程序中的内存泄露,以及

NSZombieEnabled 设置的使用。
本文假设你已经比较熟悉

Obj-C 的内存管理机制。

实验的开发环境:

XCode 4.5.2

1、运行 Demo。
先下载一个实现准备好的内存泄露的

Demo 吧:

leak

 

    app

   

下载下来,打开运行,程序是一个寿司的列表,列出各种寿司卷。试着选择里面的几行,应
该是选第二行的时候就崩溃了。
在崩溃的地方断住了,知道

crash 的地方了,但是不知道具体 crash 的原因。

2、设置 NSZombieEnabled
这是一个

 “EXC_BAD_ACCESS”错误。

设置步骤:

1

我们打开

XCode 的选项:“NSZombieEnabled” 。在 crash 时可能会给你更多的一些提示信息。

2:勾上红色框里的