我的应用程序在模拟器上运行完美。 但是当我在设备上运行时,应用程序崩溃并显示错误:
“malloc: *对象0x17415d0c0的错误:无效指针已出列 从免费清单 * 在malloc_error_break中设置断点以调试“;
我在malloc_error_break
中搜索并设置断点进行调试,但仍无法找到问题。我试图改变项目的方案,启用Zombie Object,但找不到答案。
我也尝试使用乐器,但我并不擅长。
答案 0 :(得分:13)
我已经在iOS 8.3上使用Xcode 8修复了此错误。 我刚刚将部署目标从8.3更改为8.0。 如果在迁移到Xcode 8后现在出现错误,并且您的设备在iOS 8控制下运行,则可能是暂时的决定。
UPD:Xcode 8.1 beta修复了此错误。
答案 1 :(得分:2)
使用Xcode 8解决了同样的问题。 准备iOS10兼容版本,更新为推荐的Swift Migration 2.3,在iOS9和iOS10上运行完美,但在iOS8.4上崩溃。我还原了代码和Main.storyboard中的更改,并使用Xcode 7.3在iOS8上构建相同的内容修复了我的问题。
答案 2 :(得分:0)
我也遇到了这个奇怪的错误,我谷歌并且人们说这是Swift的错误,还没有修复。 我逐行调试,找出解决方案。
在EditRecordVC
我有通用类型函数func update<RO>(operation: RO) where RO : RealmOperation, RO.R == EditRecordVC.R
在其子类ConflictedRecordEditVC
中,我覆盖了函数,我输入update
,Xcode帮我完成整个函数override func update<RO>(record: Record?, operation: RO?) where RO : RealmOperation, RO.R == Record
,编译得很好。
运行代码,执行覆盖函数后,会出现此错误,Xcode会在某个随机行停止,没有人能够发现它是由此函数引起的。
我逐行调试,发现我必须将泛型类型更改为override func update<RO>(operation: RO) where RO : RealmOperation, RO.R == Record
,一切都会再次运行。
当我错误地添加?时我忘记了Xcode没有生气。
因此,请检查泛型类型函数,并确保它与超类
完全相同