在iOS开发中, 大多时候需要在debug 模式下调试,这里就整理下Debug 的知识
1,Debug和Release版本区别?
众所周知,我们进行iOS开发,在Xcode调试程序时,分为两种方式, Debug 和 Release ,在Target的Setting中相信大家应该看到很多选项都分为 Debug 和 Release ,方便我们分别设置,满足调试和发布的不同需求。
Release是发行版本,比Debug版本有一些优化,文件比Debug文件小 Debug是调试版本,Debug和Release调用两个不同的底层库。通俗点讲,我们开发者自己内部真机或模拟器调试时,使用Debug模式就好,等到想要发布时,也就是说需要大众客户使用时,需要build Release版本,具体区别如下:
一、Debug是调试版本,包括的程序信息更多
二、只有Debug版的程序才能设置断点、单步执行、使用TRACE/ASSERT等调试输出语句
三、Release不包含任何调试信息,所以
体积小、运行速度快
抽刀断Bug
断点,(我求你们不要想到张敬轩,阿轩他容易么,小受又怎么了?你们这帮人真是的!!),我要说的断点是BreakPoint!基本上不是残废的IDE都具有断点调试功能吧!尤其是XCode,我们家的IDE断点调试功能可是强中又是强中手!在这之前大家可以先了解一下哈子是断点?它怎么实现的?工作原理怎么样的?博主就献丑说说自己的理解吧,断点,顾名思义就是从前有一个点,后来它断了,谢谢,我的故事讲完了。哎哟还不服,这些基础常识的东西自己不会查?你还真的脸皮厚上天了去了,还要博主给你查哟,自己查去!
普通操作
如图3

基本的断点操作如下
图4

点击那个黑列列就创建了一个断点,再次点击就临时取消这个断点(但是不删除),长按那个断点拖出去就删除了(mac os的系统工程师就是稀饭拖动的快感),当然也可以右键那个创建的断点,会弹出相应地菜单。
当然也还可以监视某个变量!
图5

在对象视图中,右键某个对象,点击“Watch ‘XXX'”就完成XXX对象的监视了。
这里我监视了lab这个UILabel的变量,每当这个变量进行更新它的信息就会被打印到控制台。
好吧!我们最基本的创建断点的工作已经学会了,Xcode舒服在什么地方呢?就是不分Debug模式和Run模式的,可以说是无缝切换的,你只要没有创建断点,那么就是Run的正常模式,如果创建了断点并且运行到断点处,就自动进入Debug模式咯,不像某EC开头的IDE,控制面板就像开飞机的一样,几万个按钮以为很强大,其实只用了Run和Stop,还有什么Debug模式,App模式……,果然Xcode的优越感在对比中更加强烈了,舒服到极点呀,就像夏天的海风拂过菊花,嗯是的 就是那种感觉!










