我正在使用Xcode 6(GM,我没有下载Beta版),并且正在为iOS 7+开发应用程序。对于我所有的项目,我只是打开了以前在Xcode 5中处理过的项目。
在Breakpoint导航器中,All Exceptions
打开了断点。设置为Break: On Throw
。现在,每次我运行我的应用程序(无论是在设备上还是在模拟器中)时,它都会停止return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
在main()
函数中的行上执行。
如果按两次Play继续执行程序,则程序运行正常。因此,这不会妨碍我的工作,但是每次必须手动播放执行程序并重置我的编辑器很烦人。
我喜欢我在Xcode中设置的行为(将当前的编辑器转到执行已暂停的位置),拥有这个All Exceptions
断点对于IMO很重要。(所以我不想更改那些)
通过为iOS 7目标(再次是设备,模拟器)运行相同的代码,使用相同的环境,不会引发异常。
任何线索可能导致这种奇怪的行为?
如注释中所述,您应该通过编辑“所有异常”断点来关闭捕获C ++异常的功能。
为此,请右键单击断点,然后将Exception从All更改为Objective-C:
C ++代码中的异常是正常应用程序功能的一部分。但是,异常断点不会捕获未处理的异常,而是捕获每个引发的异常,即使稍后对其进行了正确处理,因此也会停止执行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句