我发现由于苹果公司在这个框架中存在大量断点,因此几乎不可能使用断点调试我自己的代码(特别是与AVFoundation和CoreMedia相关)。我经常需要跨越大约15-20个连续框架断点(例如com.apple.coremedia.player.async(193):breakpoint 5.2),它们被称为一些汇编代码,以便最终继续执行应用程序。 我想知道,有没有办法禁用苹果的框架断点,所以xcode只会停在我的断点上?
答案 0 :(得分:6)
使用AVFoundation和CoreMedia时,我遇到了同样的问题,因为系统会触发几个异常(例如声音播放结束时)。
我修复它而不会丢失能力的方法调试我的代码是将我的异常断点异常类型更改为Objective-C only
。
当例外来自Objective-C时,我使用this SO回答中提供的解决方案。
答案 1 :(得分:2)
在断点导航器中禁用“All Exceptions”断点。
此外,通过双击断点,可以配置其操作。
作为Apple不要使用异常进行程序控制的例外,Apple已经在某些框架中做到了这一点,尤其是核心数据。如果启用“所有异常”,这些可能会给开发人员带来问题。