我今天在客户端站点,然后在那里做了几个bug修复。我将应用程序的工作副本部署到他们的iPad和iPhone上。完善。我已经回家了,现在在模拟器中运行应用程序....但它每次都崩溃,我无法弄清楚如何。不幸的是,我看不出有什么改变会导致这种情况。
有谁知道为什么你会在模拟器上看到错误消息Program received signal: “EXC_BAD_ACCESS”
而不是iPad或iPhone?
我在OSX 10.6.4上运行的iPhone 3GS和iPad 3.2.2上使用Xcode 3.2.4和OS4.1
感谢您提供任何信息。我正在撕扯我的头发....!
[更新]
这是代码失败的代码
- (void)dealloc
{
if (_node)
{
if (_node->_private == self) //THIS IS THE LINE that debug is stopping on
_node->_private = NULL;
_node = NULL;
}
//
[super dealloc];
}
答案 0 :(得分:1)
这个物体是否有可能被正确保留?模拟器内存可以非常快速地重用,因此如果指针的保留计数变为0,它将快速重新映射,并且在下一次访问时,事情可能会爆炸....在我的经验中重用内存在设备上较慢。根据对象的类型,您可以使用CFGetRetainCount或[_node-> _private retainCount] ;.如果物体仍然断裂则没有。
答案 1 :(得分:0)
奇怪地使用_node。从您使用 - >它似乎是一个指针。但是,然后将其设置为NULL。这是释放指针或删除对它的引用的一种非常奇怪的方式。
你是否在其他地方释放了_node?也许_node在被调用之前被释放了。当你尝试使用它时,这会给你一个问题。