【问题标题】:Xcode: disable cocoa breakpointsXcode:禁用可可断点
【发布时间】:2015-04-18 03:13:33
【问题描述】:

我发现用断点调试我自己的代码(尤其是与 AVFoundation 和 CoreMedia 相关的代码)几乎是不可能的,因为苹果制作的这个框架中有大量的断点。我经常需要跳过大约 15-20 个顺序框架断点(例如 com.apple.coremedia.player.async (193): breakpoint 5.2),这些断点引用了一些汇编代码,以便最终继续执行应用程序。 我想知道,有没有办法禁用苹果的框架断点,所以 xcode 只会在我的断点处停止?

【问题讨论】:

  • 你不是在说你添加的全球"catch-all" exception breakpoint吗?因为 AFAIK 在框架中“分布”断点是不可行的。
  • 谢谢大家!我没有很清楚地表达自己。我添加了“所有异常”,但我需要它来找出愚蠢的“EXC_BREAKPOINT UNKNOWN”崩溃。是否可以设置“所有异常”断点和禁用系统框架断点?

标签: ios xcode debugging breakpoints


【解决方案1】:

在使用 AVFoundation 和 CoreMedia 时,我遇到了同样的问题,因为系统触发了几个异常(例如,当声音播放结束时)。

我在不失去调试代码能力的情况下修复它的方法是将我的异常断点异常类型更改为Objective-C only

编辑断点

将类型设置为 Objective-C

调试

当异常来自 Objective-C 时,我使用this SO 答案中提供的解决方案。

【讨论】:

    【解决方案2】:

    在断点导航器中禁用“所有异常”断点。

    此外,通过双击断点,可以配置其操作。

    作为 Apple 告诫不要将异常用于程序控制的一个例外,Apple 在某些框架中做到了这一点,尤其是 Core Data。如果启用“所有异常”,这些可能会给开发人员带来问题。

    【讨论】:

      猜你喜欢
      • 2010-10-31
      • 1970-01-01
      • 2017-11-27
      • 2010-11-07
      • 2017-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多