繁体   English   中英

我的应用程序崩溃,当它第一次在模拟器和设备中进行调试后,又调试了我想要的工作时

[英]my application crash when its first time debugging in simulator and device too afterward while debugging its work fine as i wanted

第一次调试时,我在控制台中收到此错误并崩溃了

* -[NSPathStore2版本]:消息发送到已释放实例0x7052210

这意味着您正在尝试释放已经发布的NSPathStore2对象。

不看代码库就很难查明,但通常是因为代码做了类似

NSPathStore2 = [[[NSPath alloc] init] autorelease];

...(在应用程序中稍后)... [NSPathStore2版本];

alloc行分配对象,但将ref计数设为0,这意味着它将在循环中稍后的某个时刻由系统释放(我假设是在一个帧之后),除非另有保留。 稍后调用release时,系统已释放该对象。 解决方案是不要使用自动释放或自己保留对象。

也是以类名开头的帮助函数,例如NSString方法,例如stringWithString或stringWithFormat ...,它们创建一个String对象,并像上面的示例一样返回保留计数为0的对象,即您需要保留该对象以避免系统稍后为您自动释放它。

该链接提供了一些有关内存管理的良好指南,值得一读。

http://iosdevelopertips.com/objective-c/memory-management.html

我认为您正在尝试访问一些已释放的对象。 检查代码的哪一行有问题,如果有问题,这就是原因。

尝试启用Zombie,它将帮助您找到再次释放哪个对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM