应用程序冻结一旦从模拟器Xcode9上的断点恢复 - 死锁/错误?

kon*_*owy 9 xcode multithreading breakpoints ios cocoalumberjack

自从迁移到Xcode 9后,我在模拟器上从断点恢复时发现了奇怪的行为.

我的应用程序显着使用多个线程,并且在不同线程的代码中设置了一些断点.一旦应用程序在断点处停止然后恢复(在不同的断点上重复几次),它最终会永远冻结,这看起来像主线程上的死锁:

  • UI没有响应(但是播放了一些UI动画)并且__ulock_wait主要线程上显示了callstack .

在此输入图像描述

同时,其他后台线程显示各种操作,例如记录机制(CocoaLumberjack),下载图片(Alamofire)等.在连接到Xcode或先前版本的Xcode的设备上测试相同断点时,不会发生这种情况.我还测试了应用程序中使用的许多POD演示应用程序之一的行为,结果相同.

所描述的行为将调试体验带到烦人的程度,甚至打破了完全调试代码的某些部分的可能性.任何人都可以确认类似的,不想要的行为