xcode – ios Zombie检测
我(我认为)在我的代码中遇到了一个非常棘手的问题.它在代码中的不同位置随机崩溃.该项目是一个ARC项目.
所以我的程序偶尔崩溃了这条消息: malloc: *** error for object 0xd2dd8b0: incorrect checksum for freed object - object was probably modified after being freed. *** set a breakpoint in malloc_error_break to debug 我已经为malloc_error_break设置了一个断点,但我没有得到任何信息.当代码崩溃时,XCode会向我显示代码所在的位置.但正如我已经说过的那样,崩溃是随机的,不会一直发生.但似乎崩溃集中在代码中的特定行. 现在,我想使用xcode附带的仪器进行调试.经过一段谷歌搜索后,我在stackoverflow上找到了以下内容:How do I set up NSZombieEnabled in Xcode 4?和Xcode malloc error. 因此,第一个链接描述了如何通过单击xcode中的运行按钮从xcode本身开始进行僵尸检测并选择“Profile”.我遇到的问题是,在我的xcode版本(4.2)中选择跟踪文档的模板时,我找不到“Zombies”.但如果我在xcode之外启动Instruments(例如从finder),我可以选择僵尸. 好的,这就是我做的: 1)从finder启动Instruments并选择Profile“Zombies”. 2)在iphone模拟器中从xcode启动iphone应用程序(正常运行(不是配置文件或调试)). 3)在乐器“选择目标” – >“附加到过程” – >“iPhone模拟器(57529)”. 4)乐器开始重新录制(我无法弄清楚它的作用). 5)开始玩应用程序直到它崩溃. 最终应用程序崩溃,这是崩溃应用程序后的仪器截图: 我的问题: 1)僵尸是否足以解决我的问题,还是应该使用其他分析工具? 2)什么告诉我撞击后输出的乐器? 解决方法
根据您对问题的描述判断,您的崩溃是由访问僵尸对象之外的事情引起的.如果您的应用访问了已取消分配的(僵尸)对象,则在使用Zombies模板时,Instruments会显示如下消息:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |