Xcode:NSZombie没有捕获错误

时间:2011-08-27 15:07:51

标签: iphone objective-c xcode nszombie

  

可能重复:
  Xcode malloc error

由于这条消息,我的游戏有时会崩溃:

malloc: *** error for object 0x65cfcd4: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug

正如所建议的那样,我在仪器中运行了Allocations工具以尝试查找泄漏并尝试启用NSZombie Detection。它说在执行期间正在检查僵尸。

但应用程序崩溃并且没有被抓住。

为什么僵尸不能抓住它?

感谢。

2 个答案:

答案 0 :(得分:3)

建议不要启用僵尸,僵尸只是Objective-C而mallocreallocfree是分配内存的C方式,僵尸工具不会抓住这些错误。在malloc_error_break中设置断点并查看堆栈跟踪以解决错误。

答案 1 :(得分:0)

如果没有过于花哨,您可以删除所有free来电并查看是否能解决问题。如果您的项目规模不是很大,这可能比您将使用的任何“专业工具”更快。如果它解决了问题,只需逐个插入free来电,答案就会变得明显。

如果您使用cocos2d,只需删除所有这些“免费”通话。 C内存分配很容易出错。