打开NSZombieEnabled来调试EXC_BAD_ACCESS

在写iOS程序时,无论你是新手还是牛人,都有可能会碰到EXC_BAD_ACCESS。而此时你的debug area中不会显示任何信息可以来帮助你找出问题。此时就需要打开NSZombieEnabled来提供更多有用的信息。

在XCode 4.2中,有两种方法来打开NSZombie。

方法一,添加环境变量, 在菜单中,选择Product->Edit Schema, 选择Run (App Name), 在Arguments下面的Environment Variables中,添加NSZombieEnabled, Value值为YES。

方法二,打开Diagnostics, 同样在菜单中选择Product -> Edit Schema, 选择Run (App Name), 在Diagnostics下,打开Memory Management下的Enable Zombie Objects.

此时,在运行程序,就会显示哪个instance已经被release了,而你还向这个对象发消息。