我正在使用Xcode 6(GM,我没有下载Beta),我正在为iOS 7+开发应用程序.对于我所有的项目,我只是打开了我以前在Xcode 5中处理的相同项目.

在断点导航器中,我打开了All Exceptions个断点.设置为Break: On Throw.现在,每次我运行我的应用程序(无论是在设备上还是在模拟器上),它都会在main()函数的第return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));行停止执行.

如果我按Play继续执行程序两次,程序运行正常.所以这并不妨碍我工作,但每次都要手动播放执行并重置编辑器,这很烦人.

我喜欢在Xcode中设置的行为(将当前编辑器带到执行暂停的地方),在我看来,设置All Exceptions个断点很重要(所以我不想更改这些)

或者,对于相同的iOS,目标设备再次抛出异常(对于相同的iOS,目标设备再次抛出异常).

有什么线索能导致这种奇怪的行为吗?

推荐答案

如注释所述,您应该通过编辑All Exceptions个断点来关闭C++异常.

为此,右键单击断点并将ExceptionAll更改为Objective-C:

全部更改为目标C

C++代码中的异常是正常应用程序功能的一部分.然而,异常断点并不是捕获未处理的异常,而是捕获每个引发的异常,即使它们在以后得到正确处理,也会因此停止执行.

Objective-c相关问答推荐

react 本机WebView菜单项目props 无法在iOS&>=16上使用

Objective-C:为什么[对象复制]的两个请求返回相同的结果?

Clang:将 id 之类的类型转换警告提升为 class

NSString "nil or empty" 判断 - 这完成了吗?

为什么 NSDateFormatter 为这 4 个时区返回 nil 日期?

indexOfObject 对比indexOfObjectIdenticalTo

NSFileManager 唯一的文件名

如何在另一个视图中获取视图的框架?

关于如何将项目从 UITableView 拖放到 UITableView 的教程

iOS 崩溃日志(log)中的异常类型

如何在 ios 8 的 alertview 中添加文本输入?

两个 NSDate 对象之间的区别 - 结果也是一个 NSDate

Cocoapods ld:找不到-lPods-Projectname 的库

通过将另一个字符串重复给定次数来创建 NSString

根据文本量更改 UITableViewCell 高度

如何在 Cocoa 中获取当前日期

如何将 tintColor 应用于 UIImage?

iOS:开源 VoIP/SIP Objective-C 代码

如何将 UITableView 滚动到特定位置

如何检测父视图控制器中模态视图控制器的解除?