Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 已将Objective-C消息发送给解除分配的?_Xcode_Memory Management_Instruments - Fatal编程技术网

Xcode 已将Objective-C消息发送给解除分配的?

Xcode 已将Objective-C消息发送给解除分配的?,xcode,memory-management,instruments,Xcode,Memory Management,Instruments,当应用程序崩溃时,我在下面有这样一条消息,我对编码还是新手。我怎样才能用这个来找到根本原因 An Objective-C message was sent to a deallocated 'MainScene' object (zombie) at address: 0x1f3f5d70. 我怎样才能用这个来找到根本原因 看看发生碰撞的那条线。您试图向哪个对象发送消息?你从哪里弄来的指针 调试是侦探工作,你在看犯罪现场。您可以查看证据——崩溃发生的地点、调用堆栈等。您还可以运行测试来检查假设

当应用程序崩溃时,我在下面有这样一条消息,我对编码还是新手。我怎样才能用这个来找到根本原因

An Objective-C message was sent to a deallocated 'MainScene' object (zombie) at address: 0x1f3f5d70.
我怎样才能用这个来找到根本原因

看看发生碰撞的那条线。您试图向哪个对象发送消息?你从哪里弄来的指针

调试是侦探工作,你在看犯罪现场。您可以查看证据——崩溃发生的地点、调用堆栈等。您还可以运行测试来检查假设:在代码的早期点设置断点,以查看指针是否在此处有效。查找对象被释放的位置


坚持下去。每个错误都有原因。

不幸的是,它纯粹是症状。您已经启用了zombies来检测消息是否正在发送到悬空指针。它是。但指针为什么会摆动,何时开始摆动,这是完全未知的;事情发生得更早。有没有更好的测试方法?测试结束了。它成功了。你完了问题是为什么释放了一个仍在维护指针的主场景对象。如果使用ARC,这并不容易;如果你不使用ARC,这很容易(你可能会对你不拥有的东西说
release
)。您可以使用工具来跟踪主场景对象的生命周期保留/释放,也可以仔细检查代码,但您没有提供任何信息,因此我不能再多说了。