Xcode的 – 我的应用程序崩溃,错误是“无效指针从空闲列表中出列***在malloc_error_break设置断点debugging”
我的应用程序在模拟器上运行完美。 但是当我在设备上运行应用程序崩溃并显示错误:
“ 对象0x17415d0c0的 malloc: *错误:从空闲列表中出列的无效指针*在malloc_error_break中设置断点以进行debugging”;
我在malloc_error_break
search并设置了一个断点来debugging,但仍然找不到问题。 我试图改变项目的scheme,启用僵尸对象,但无法find答案。
我也尝试使用乐器,但我不擅长。
我已经修复了iOS 8.3上的Xcode 8的这个错误。 我刚刚将部署目标从8.3更改为8.0。 如果在迁移到Xcode 8后出现错误,并且您的设备在iOS 8的控制下工作,则可能是临时决定。
UPD:Xcode 8.1 beta修复了这个错误。
只是解决了与Xcode 8相同的问题。准备iOS10兼容的版本,更新到推荐的Swift Migration 2.3,在iOS9和iOS10上运行完美,但在iOS8.4上崩溃。 我还原了代码和Main.storyboard中的更改,并在iOS8上使用Xcode 7.3构build了相同的内容,解决了我的问题。
我也遇到了这个奇怪的错误,我谷歌和人们说这是Swift的bug,一直没有修复。 我一行一行debugging,找出解决scheme。
出现此错误的原因
在EditRecordVC
我有generics函数func update<RO>(operation: RO) where RO : RealmOperation, RO.R == EditRecordVC.R
在它的子类ConflictedRecordEditVC
,我重写了函数,我input了update
,并且Xcode帮助我完成了整个函数override func update<RO>(record: Record?, operation: RO?) where RO : RealmOperation, RO.R == Record
,编译好。
运行代码,执行重写函数后,会出现这个错误,Xcode会停在一些随机的行,没有人会发现它是由这个函数引起的。
我一行一行debugging,找出我必须改变通用types来override func update<RO>(operation: RO) where RO : RealmOperation, RO.R == Record
,一切都将再次运作良好。
我忘了什么时候join了? 错误和Xcode不生气。
所以检查你的genericstypes的function,并确保它是完全相同的超级类