Xcode的 – 我的应用程序崩溃,错误是“无效指针从空闲列表中出列***在malloc_error_break设置断点debugging”

我的应用程序在模拟器上运行完美。 但是当我在设备上运行应用程序崩溃并显示错误:

对象0x17415d0c0的 malloc: *错误:从空闲列表中出列的无效指针*在malloc_error_break中设置断点以进行debugging”;

我在malloc_error_breaksearch并设置了一个断点来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,并确保它是完全相同的超级类