IOS学习:调试程序(断点:异常断点)
2013-06-07 21:00
288 查看
一、异常断点说明
在代码有问题导致抛出异常时,异常断点会停止程序的执行,如Foundation.framework的NSArray、NSDictionary等中的一些方法会在不能满足特定条件的情况下抛出异常,e.g:数组越界。一般如果没有设置异常断点,应用崩溃时,可能只会显示造成崩溃的那条异常,即使看了日志也不知道究竟发生什么了。设置异常断点后,调试器会在异常抛出的瞬间暂停程序的执行,将程序定位到出现异常的那一行代码。下面用一个空的工程进行说明:
在xcode中建一个空应用,并在AppDelegate.m中添加一行异常代码,如下:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; // 添加一条异常语句 会抛出一个数组越界的异常 NSLog(@"%@", [@[] objectAtIndex:10]); [self.window makeKeyAndVisible]; return YES; }
不添加异常断点时,运行结果如下,异常后会跳转到main()方法中:
二、异常断点添加
打开断点导航面板,设置一个异常断点。打开断点导航面板,点击左下角的“+”按钮,选择Add Exception Breakpoint,接受默认设置,新加一个异常断点,如下图:再一次运行程序,发现程序正好停在了抛出异常的那一行代码,如下:
总结:异常断点可以帮我们理解异常的起因,所以在新建一个工程时,首先应该添加一个异常断点。。。
相关文章推荐
- IOS学习:调试程序(断点:异常断点)
- iOS-新手学习之程序断点调试
- IOS调试技巧——异常断点
- 学习python的第四十七天-第九章 异常处理与程序调试
- xcode反汇编调试iOS模拟器程序(四)自动断点应用之NSNotificationCenter
- iOS:调试时在XCode中添加异常断点
- iOS调试技巧之加断点捕捉异常
- iOS调试技巧之加断点捕捉异常 (转载)
- 我是新手学习vs2005利用断点来调试程序和跟踪变量。
- xcode反汇编调试iOS模拟器程序(四)自动断点应用之NSNotificationCenter
- [Python学习笔记][第八章Python异常处理结构与程序调试]
- iOS-断点设置(调试程序)
- eclipse断点调试和程序异常解决方案
- [Python学习笔记][第八章Python异常处理结构与程序调试]
- xcode反汇编调试iOS模拟器程序(四)自动断点应用之NSNotificationCenter
- ios NSAssert调试程序
- iOS开发何如在调试的时候轻松找到程序在哪里崩溃
- IOS Xcode调试常用命令和断点整理
- 调试技巧 —— 如何利用windbg + dump + map分析程序异常
- windbg调试和断点学习总结2