【转】iOS开发------使用Xcode编译器定位抛出异常的位置 -- 不错不错!!!

原文网址:http://blog.csdn.net/runintolove/article/details/51297734

虽然Objective-C对异常进行了封装,但日常敲代码的时候,往往会因为马虎,代码段出现了一点小小的错误,自己却发现不了。当然,很多时候,Xcode就会直接报错(也就是俗话说的崩了)告诉我们,这个时候只要根据报出的异常堆栈,就可以找到错误的具体位置。

可是有一种情况,相信大家肯定遇到过,程序不崩或者崩了但是没有告诉我们异常堆栈,但错误原因告诉我们了:

*** First throw call stack:
(0x18336ae38 0x1829cff80 0x183e2495c 0x183ca5968
0x183ca5550 0x183ca5100 0x1004cbdcc 0x1004cb454
0x1884a80e4 0x185e4ea28 0x185e49634 0x185e494f4
0x185e48b24 0x185e4886c 0x1884aaef4 0x183321124
0x183320bb8 0x18331e8b8 0x183248d10 0x184b30088
0x188515f70 0x1004c2e34 0x1
libc++abi.dylib: terminating with uncaught exception of type NSException
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

从代码来看,我们肯定的是某个地方抛出了异常,但是”某个地方”对于程序员来讲是不是很崩溃呢,总之楼主会很崩溃,虽说最终能找到异常触发点,但总会浪费许多开发时间。这里就写一下如何让Xcode帮我们自动的定位到异常抛出位置,用来节约开发时间,希望能帮到看到博文的朋友。

不得不说Xcode这个编译器真的很强大,自己对它的了解越来越自感觉不够,这种情况,对Xcode进行相应的断点设定,就可以将代码定位到异常的抛出位置,当出现异常抛出的时候,Xcode就直接定位到该代码行:

1、找到Xcode的Breakpoint组,找到左下角的+键,位置如下图:

2、点击+键,能够添加新断点,项目用的是Objective-C,所以这里就添加一个异常断点,当然Swift也可以添加一个Error断点,根据不同的情况可以自定义添加。

3、添加完毕之后,这里就会出现一个全局的断点,从后面的描述可以看出,这个断点是所有异常的断点。

设置完毕后,再运行一次抛出异常的程序,此时断点就自动的停留在了抛出异常的语句上,如图:

这样开发者们就不需要在看不到异常堆栈的情况下,花大量时间来寻找异常抛出点了Thanks()

时间: 2024-11-07 15:41:41

【转】iOS开发------使用Xcode编译器定位抛出异常的位置 -- 不错不错!!!的相关文章

文顶顶 iOS开发UI篇—IOS开发中Xcode的一些使用技巧

iOS开发UI篇—IOS开发中Xcode的一些使用技巧 一.快捷键的使用 经常用到的快捷键如下: 新建 shift + cmd + n     新建项目 cmd + n             新建文件 视图 option + cmd + 回车 打开助理编辑器 cmd + 回车           显示主窗口 cmd + 0             导航窗口 option + cmd + 0    工具窗口 在.m & .h之间切换           control + cmd + 上/下 按

iOS开发UI基础—IOS开发中Xcode的一些使用技巧

iOS开发UI基础-IOS开发中Xcode的一些使用技巧 一.快捷键的使用 经常用到的快捷键如下: 新建 shift + cmd + n     新建项目 cmd + n             新建文件 视图 option + cmd + 回车 打开助理编辑器 cmd + 回车           显示主窗口 cmd + 0             导航窗口 option + cmd + 0    工具窗口 在.m & .h之间切换           control + cmd + 上/下

【三分钟视频教程】iOS开发中 Xcode 报 apple-o linker 错误的#解决方案#

[三分钟视频教程]iOS开发中 Xcode 报 apple-o linker 错误的#解决方案# [三分钟视频教程]iOS开发中 Xcode 报 apple-o linker 错误的#解决方案#,布布扣,bubuko.com

iOS开发 统计xcode代码行数

如果要统计ios开发代码,包括头文件的,终端命令进入项目目录下,命令如下 find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" |xargs wc -l 列出每个文件的行数 find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or

iOS开发——高级篇——地理定位 CoreLocation

一.CoreLocation 在移动互联网时代,移动app能解决用户的很多生活琐事,比如周边:找餐馆.找KTV.找电影院等等导航:根据用户设定的起点和终点,进行路线规划,并指引用户如何到达 在上述应用中,都用到了定位和地图功能,在iOS开发中,要想加入这2大功能,必须基于2个框架进行开发CoreLocation :用于地理定位,地理编码,区域监听等(着重功能实现)MapKit :用于地图展示,例如大头针,路线.覆盖层展示等(着重界面展示) 2个热门专业术语LBS :Location Based

iOS开发系列--地图与定位

概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个陌生的地方想要查找附近的酒店.超市等就可以打开软件搜索周边;类似的,还有很多团购软件可以根据你所在的位置自动为你推荐某些商品.总之,目前地图和定位功能已经大量引入到应用开发中.今天就和大家一起看一下iOS如何进行地图和定位开发. 定位 地图 定位 要实现地图.导航功能,往往需要先熟悉定位功能,在iO

IOS开发中Xcode常用插件安装与管理(转)

XCode中插件管理工具:Alcatraz   转自http://blog.csdn.net/liwei3gjob/article/details/44266943 1.全能搜索家CodePilot 2.0 你要找的是文件?是文件夹?是代码?Never Mind,CMD+SHIFT+X调出CodePilot,输入任何你想到搜的东西吧!想搜appFinishLaunchingWithOptions?忘记咋拼了?没关系强大的代码搜索能力,appflaun一样也可以找到!超级强大的正则匹配,匹配任何你

iOS开发之地图-----01定位CoreLocation

1.简介 1.在移动互联网时代,移动app能解决用户的很多生活琐事,比如 导航:去任意陌生的地方 周边:找餐馆.找酒店.找银行.找电影院 2.在上述应用中,都用到了地图和定位功能,在iOS开发中,要想加入这2大功能,必须基于2个框架进行开发 Map Kit :用于地图展示 Core Location :用于地理定位 3.2个热门专业术语 LBS :Location Based Service SoLoMo :Social Local Mobile(索罗门) 2.经纬度 1.经纬度的各种定义 本初

转-iOS开发系列--地图与定位

来自: http://www.cnblogs.com/kenshincui/p/4125570.html#autoid-3-4-0 概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个陌生的地方想要查找附近的酒店.超市等就可以打开软件搜索周边;类似的,还有很多团购软件可以根据你所在的位置自动为你推荐某些商品.总之,目前地图和定位功能已经大量引入到应用