加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xcode – ios Zombie检测

发布时间:2020-12-14 17:56:20 所属栏目:百科 来源:网络整理
导读:我(我认为)在我的代码中遇到了一个非常棘手的问题.它在代码中的不同位置随机崩溃.该项目是一个ARC项目. 所以我的程序偶尔崩溃了这条消息: malloc: *** error for object 0xd2dd8b0: incorrect checksum for freed object - object was probably modified af
我(我认为)在我的代码中遇到了一个非常棘手的问题.它在代码中的不同位置随机崩溃.该项目是一个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会显示如下消息:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读