Xcode 4.3.2 + iOS SDK 5.1 异常断点不起作用

8
在遵循以下线程后:
- Xcode在崩溃后总是停留在main.m - Xcode 4.2错误显示错误代码行 - 使用iOS模拟器和XCode 4调试应用程序崩溃时,XCode在main()函数中停止,而不是崩溃源

我仍然在'main'崩溃,而不是实际的崩溃行。

  • 奇怪的是在iOS 4.3模拟器上可以工作!
  • iOS 5.1模拟器或iOS 5.0模拟器无法工作
  • 我已经设置并激活了异常断点。(异常:全部,断点:抛出。也尝试过断点:捕获)
  • 使用Apple LLVM 3.1编译器
  • 基本SDK为5.1
  • 部署目标设置为4.0
  • 配置设置为调试
  • 项目启用ARC
  • XCode 4.3

谢谢


谢谢建议,不幸的是这也行不通 :( 我将编辑我的问题以反映这一点。 - SRandazzo
尝试添加一些更多的异常断点:NSKVODeallocBreak、malloc_error_break、exec_bad_access。 - Cliff Ribaudo
你是用lldb还是gdb来进行调试?我发现lldb有点不稳定。 - ThomasW
哦我的天啊...切换到gdb解决了我所有的烦恼,包括在xcode中设置断点时经常崩溃的问题,这让我发疯了...谢谢@ThomasW...现在我该怎么标记这个问题已解决呢?再次感谢! - SRandazzo
好的。我已经把我的建议写成了答案。 - ThomasW
显示剩余3条评论
2个回答

3
尝试这个:
断点 -> 添加 -> 添加符号断点。 会弹出一个新窗口。
在符号字段中键入“ objc_exception_throw”并单击“完成”。

1
我也是。很抱歉,如果你之前使用过合适的集成开发环境,那么XCode 4的调试功能就显得有些不足了。 - Henrik Erlandsson

0

不幸的是,lldb 相对不太稳定,在您的情况下似乎是崩溃的原因。切换到 gdb 可以消除这些崩溃。


1
谢谢,'lldb' 似乎是许多挫败感的原因。转换到 'gdb' 已经解决了我的问题! - SRandazzo
那么为什么lldb是默认选项呢? :/ - Henrik Erlandsson
@HenrikErlandsson 应该是苹果过早地将 lldb 推为默认选项。 - ThomasW
不,我的意思是为什么现在它已知不稳定,却成为默认选项? - Henrik Erlandsson
@HenrikErlandsson 我不确定它是否仍然不稳定,因为我已经关闭了它,但我会开始在4.4.1上使用它,并看看现在的情况如何。 - ThomasW

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接