`

XCode4里面设置NSZombieEnabled

ios 
阅读更多

http://blog.sina.com.cn/s/blog_914c141d0100vzol.html


今天看到偶然间看到一篇blog,“用NSZombieEnabled解决恼人的EXC_BAD_ACCESS错误”。
很实用的技巧,便拿来试验一下。
原文是在XCode3里面设置的,so在4里面完全找不到地方。stackoverflow搜一下,找到如下方法。
菜单里Product->EditScheme->Run->Environment Variables, 添加NSZombieEnabled,YES。


顺便发现方法2,Product->按住alt/option+鼠标点"Run...",之后同上。
如果你和我一样操作了,一定发现了:按下alt/option键之后菜单边了,同理,按下Ctrl键之后菜单也变了。
神奇ing!
顺便在Navigate看到一条”Fix next issue“,(按住Ctrl),原来XCode支持自动修复简单错误。
试验发现只要报错信息里有fix方法的,都能用Ctrl+Command+'修复。
扯远了,再回到最初的目的,试验EXC_BAD_ACCESS错误。故意删掉一个数组的retain部分,用了NSZombieEnabled的调试信息里多了一行,“*** -[__NSArrayI objectAtIndex:]: message sent to deallocated instance 0x700aba0”
很准确的定位到了objectAtIndex函数(因为这里的NSArray是空的)。
确实能省不少力气。
  • 大小: 73 KB
分享到:
评论

相关推荐

    如何在xcode里面使用内存泄露查找工具

    在Xcode中,可以在运行应用的Schema设置中,将NSZombieEnabled环境变量设置为YES。这允许对象即使被释放后,也能在尝试访问时提供调试信息,帮助定位问题。 7. 还可以利用Instruments的“Zombies”工具,当启用此...

    ios EXC_BAD_ACCESS错误调试

    1. 设置NSZombieEnabled:首先需要在XCode的Scheme设置中启用NSZombieEnabled。可以通过点击XCode顶部菜单栏中的Product->Scheme->Edit Scheme...,然后选择Run,在Diagnostics标签页中勾选"Enable Zombie Objects...

    使用Xcode和Instruments调试解决iOS内存泄露

    这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用。本文假设你已经比较熟悉Obj-C的内存管理机制。实验的开发环境:XCode4.5.2先下载一个实现准备好的内存泄露...

    iOS内存暴增问题追查与使用陷阱

    首先,我们需要在XCode中设置环境变量,然后运行代码,出现崩溃现象。接着,我们可以使用活动监视器来找到崩溃的进程ID和崩溃地址。 在终端中输入命令`sudo malloc_history <进程ID> <崩溃地址>`,就可以定位到崩溃...

    查找 EXC_BAD_ACCESS 问题根源的方法

    1. **启用 NSZombieEnabled 变量**:在 Xcode 的项目设置中,为可执行文件添加环境变量 `NSZombieEnabled` 并将其值设为 `YES`。这样做可以使得程序在对象被释放后仍能继续接收消息,同时会在控制台输出相关的警告...

    Secrets Of An iPhone Developer .pps

    NSZombieEnabled Xcode 3.2 Errors / Warnings Xcode 3.2 Static Analyzer Demo ---App Development--- Provisioning Profile tips iTunes Connect App Submission Tips Analytics tracking Score / Networking ...

    iOS内存错误EXC_BAD_ACCESS的解决方法

    可以打开Xcode的Scheme设置,进入Arguments tab,将`NSZombieEnabled`标志设为YES。这将使已释放的对象变为“僵尸对象”,而不是立即清理,以便在后续尝试访问时提供更详细的错误信息。当应用程序崩溃时,会显示类似...

    60个免费工具下载

    4. **构建工具**:用于自动编译、打包应用程序。 - **推荐工具**:Gradle、Maven 5. **性能分析工具**:帮助开发者找出性能瓶颈,进行针对性优化。 - **推荐工具**:Chrome DevTools、Xcode Instruments 6...

    NSZombie:苹果公司对NSZombie的实现

    启用NSZombie的方法是在Xcode的项目设置中调整诊断选项。在“Product”菜单中选择“Scheme”,然后点击“Edit Scheme”。在“Run”配置下找到“Environment Variables”部分,添加名为“NSZombieEnabled”的变量,值...

Global site tag (gtag.js) - Google Analytics