xcode – ios Zombie检测

前端之家收集整理的这篇文章主要介绍了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会显示如下消息:

猜你在找的Xcode相关文章