2

我已经搜索了专门针对这个问题的主题,但没有找到任何与我的经验相近的东西。如果我忽略了答案,请原谅我。我熟悉 GDB 和异常点、断点等……但是在 GDB 与 LDB 中进行的以下调试测试让我没有合理的回应。

全局测试值

  • Xcode 4.2.1
  • 新建单窗口项目(默认模板,无更改)
  • 电弧启用
  • 故事板已启用

案例 1 - GDB 调试器

异常断点值:

  • 例外 - 全部
  • 突破 - 投掷
  • 参数 - 无
  • 结果 - 没有崩溃

案例 2 - LLDB 调试器

异常断点值:

  • 例外 - 全部
  • 突破 - 投掷
  • 参数 - 无
  • 结果 - Sigbart 和机器代码崩溃;没有可辨别的堆栈跟踪

案例 3 - LLDB 调试器

异常断点值:

  • 异常 - Objective-C
  • 突破 - 投掷
  • 参数 - 无
  • 结果 - 没有崩溃

案例 4 - LLDB 调试器

异常断点值:

  • 异常 - C++
  • 突破 - 投掷
  • 参数 - 无
  • 结果 - Sigbart 和机器代码崩溃;没有可辨别的堆栈跟踪

问题:我是否应该简单地假设选择“Objective-C”作为例外选项是一种安全的方法,还是我可能会忽略一个明显的问题?据我了解,从 Xcode 4.2.1 开始,建议我使用 LLDB 并愿意。但是,我对上面的结果很好奇。

提前感谢所有社区的回复!

4

1 回答 1

0

感谢@Mike K的深思熟虑的建议,我能够解决我可能忽略一个明显问题的担忧。

当我在实际设备 iPhone/iPad 上重现上述场景时,使用 LLDB 的案例 2 和 4不再产生崩溃,并且应用程序按预期运行。这个问题似乎仅限于模拟器。

为了后代,我对模拟器上问题的根本原因很感兴趣,但很高兴我可以按预期继续使用 LLDB。

于 2012-01-25T17:45:21.347 回答