Xcode -> 左边的 Groups & Files -> Executables -> 右点击[程序名] -> Get Info
选择Arguments (General 右边)
下方 Variables to be set in the environment:
+ (add)
Name | Value
NSZombieEnabled YES
MallocStackLoggingNoCompact 1
小心英文不能写错
NSZombieEnabled YES 可以让已经释放的内存保存一段时间, 当你不小心调用到
已经释放的内存, 系统会告诉你什么回事儿 (真机好像不会, 只在模拟器?)
MallocStackLoggingNoCompact 1 当内存错误时显示更多资料
*** NOTE 非常重要的事, 当我们测试内存泄漏, 请不要打开这两个option,
因为这些都会大量添加实际内存使用(因为release 掉的内存依然保留)
Reference:
http://www.cocoadev.com/index.pl?NSZombieEnabled
- 关于NSZombieEnabled 的解释
http://akosma.com/2009/01/28/10-iphone-memory-management-tips/
这个top 10 tips on iphone memory management, 不错的, 多看看
http://coderslike.us/2009/05/05/finding-freeddeallocated-instances-of-objects/
关于 MallocStackLoggingNoCompact
http://blog.csdn.net/WTK870424/archive/2010/01/20/5218774.aspx
这个比较汉化
http://www.cocoadev.com/index.pl?DebuggingAutorelease
这个更详细, 关于 NSZombieEnabled 和 MallocStackLoggingNoCompact