【发布时间】:2012-02-18 07:58:18
【问题描述】:
我已经搜索了专门针对这个问题的主题,但没有找到任何与我的经验相近的东西。如果我忽略了答案,请原谅我。我熟悉 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 并愿意。但是,我对上面的结果很好奇。
提前感谢所有社区回复!
【问题讨论】:
-
无论您是在设备上运行还是在模拟器中运行,这有区别吗?我似乎记得在模拟器中运行时在启动时遇到了非 objc(即 c++)异常。
-
感谢@MikeK 的建议!你是对的。在设备上重现测试时,选择“异常:全部”或“异常:C++”时不再出现崩溃。我仍然很好奇为什么会在模拟器中发生崩溃以供后代使用。 >.
标签: objective-c xcode4.2 lldb