【问题标题】:Xcode 4.3.2 + iOS SDK 5.1 Exception Breakpoint not workingXcode 4.3.2 + iOS SDK 5.1 异常断点不起作用
【发布时间】:2012-04-16 10:01:01
【问题描述】:

关注了这些话题:
- Xcode always stopping at main.m after a crash - Xcode 4.2 showing the wrong line of code on error - Debugging app crashes with iOS Simulator & XCode 4 halts in main() function, not crash source

我仍然在“main”处崩溃,而不是崩溃的实际路线。

  • 在 iOS 4.3 模拟器上运行异常!
  • 不适用于 iOS 5.1 模拟器或 iOS 5.0 模拟器
  • 我设置了异常断点并处于活动状态。 (例外:All,Break:On Throw。也尝试过 Break:On Catch)
  • 使用 Apple LLVM 3.1 编译器
  • 基础 SDK 5.1
  • 部署目标设置为 4.0
  • 配置设置为调试
  • 项目已启用 ARC
  • XCode 4.3

谢谢

【问题讨论】:

  • 尝试将断点设置为“On Catch”
  • 感谢您的建议,不幸的是也不起作用:(我将编辑我的问题以反映这一点
  • 我记得来自另一个项目的行为,大多数时候它是未初始化的对象或使用obj = value; 而不是self.obj = value;。 iOS 4 模拟器默默地忽略了这些,iOS 5 似乎更挑剔。使用调试器单步执行代码或使用 NSLog() 来了解您能走多远。
  • 尝试添加更多异常断点:NSKVODeallocBreak、malloc_error_break、exec_bad_access。
  • 感谢所有建议,已经尝试了所有建议并给了它一些时间,但仍然没有运气。调试器吐出正确的消息:“*** First throw call stack: (0x223d022...) terminate called throwing an exception(lldb)”崩溃仍然指向 main。我故意造成崩溃,我设置了一个数组并尝试在超出其范围的索引处获取对象。甚至这次崩溃也指向 main。

标签: iphone ios xcode exception crash


【解决方案1】:

试试这个:

断点 -> 添加 -> 添加符号断点。会弹出一个新窗口。

在符号字段中输入“objc_exception_throw”并点击完成。

【讨论】:

  • 这里也一样。很抱歉,当您以前使用过适当的 IDE 时,XCode 4 调试留下了很多不足。
【解决方案2】:

不幸的是,lldb 有点不稳定,似乎是您的情况下崩溃的原因。切换到gdb 可能会导致这些崩溃消失。

【讨论】:

  • 谢谢,'lldb' 似乎是令人沮丧的原因。切换到“gdb”解决了我的问题!
  • 那么为什么 lldb 是默认的呢? ://
  • @HenrikErlandsson Apple 可能过早地将 lldb 推为默认值。
  • 不,我的意思是既然知道它不稳定,为什么它是默认值?
  • @HenrikErlandsson 我不确定它是否仍然不稳定,因为我已将其关闭,但我将开始在 4.4.1 中使用它,看看它现在是什么样子。
猜你喜欢
  • 2012-04-07
  • 1970-01-01
  • 2017-09-21
  • 1970-01-01
  • 2012-09-19
  • 2014-01-07
  • 2014-08-15
  • 2012-04-07
  • 1970-01-01
相关资源
最近更新 更多