Xcode ios僵尸检测

Xcode ios僵尸检测,xcode,instruments,nszombie,Xcode,Instruments,Nszombie,在我看来,我的代码中有一个非常困难的问题。它在代码中的不同位置随机崩溃。该项目是一个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 我

在我看来,我的代码中有一个非常困难的问题。它在代码中的不同位置随机崩溃。该项目是一个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\u error\u break
设置了一个断点,但我没有从中获得任何信息。当代码崩溃时,XCode会显示代码中发生崩溃的位置。但正如我已经说过的那样,事故是随机发生的,并不总是发生的。但似乎崩溃集中在代码中的特定行上

现在,我想用xcode附带的工具来调试它。通过谷歌搜索,我在stackoverflow上发现了以下内容:和

因此,第一个链接描述了如何通过单击xcode中的run按钮并选择“Profile”从xcode本身启动僵尸检测。我的问题是,在我的xcode版本(4.2)中为跟踪文档选择模板时,找不到“僵尸”。但如果我在xcode之外启动仪器(例如从finder),我可以选择僵尸

好吧,下面是我所做的:

1) 从finder启动仪器并选择配置文件“僵尸”

2) 从iphone模拟器中的xcode启动iphone应用程序(正常运行(非配置文件或调试))

3) 在仪器“选择目标”->“连接到进程”->“iPhone模拟器(57529)”

4) 仪器开始记录一些东西(我不知道它是做什么的)

5) 开始玩应用程序,直到它崩溃

最终应用程序崩溃,下面是应用程序崩溃后的仪器屏幕截图:

我的问题是:

1) 僵尸是否足以解决我的问题,还是应该使用其他分析工具


2) 崩溃后,它的输出中有什么信息?

根据您对问题的描述判断,崩溃是由访问僵尸对象以外的原因造成的。如果您的应用程序访问解除分配(僵尸)对象,则Instruments在使用僵尸模板时会显示如下消息: