在开发App的过程当中,须要反复的修改和优化咱们的代码,特别是当程序出现bug,须要快速的找出错误的缘由,进行修改,以保证程序的正确执行。web
断点调试,是最经常使用最简单的一种调试方式,能够一步步跟踪程序执行的流程,获得变量的值,快速的找到错误的缘由。函数
断点的操做很是简单,下面经过几张图来介绍一下如何添加、删除、编辑以及使用断点。优化
设置全局断点(异常断点),当遇到错误,Debug程序会自动定位到栈底信息,即跳到出错代码所在行。spa
设置条件断点,当知足条件的时候,才触发断点,适合用于循环结构中,能够准确的定位到某次循环。3d
符号断点能够中断指定函数的调用,也能够定位到出现异常的代码处,并打印异常信息。调试
在调试的过程当中,常常经过NSLog在控制台输出须要的信息。NSLog输出比较消耗系统资源,输出的数据也可能会暴露出App里的保密信息,所在在发布正式版本以前必须把全部的NSLog输出都屏蔽掉。code
NSLog除了输出基本信息,对于结构体也能够一次性输出。orm
在程序的调试过程当中,除了经过断点调试在Xcode下方查看变量的值,也能够经过NSLog在控制台输出想要的信息。使用NSLog输出须要在运行前就把想要输出的信息写好,若是有改变,须要从新编译运行,效率很是低。对象
下面介绍一种很是简单实用的方式,在程序运行的过程当中,经过在控制台输入相应的指令,能够快速的打印输出须要的信息,很是的方便。blog
动态输出的指令有两个,p和po,与NSLog用法相似,p用于打印输出普通讯息,po用于打印输出对象信息。使用动态指令须要与断点配合使用,这样就可以动态的打印输出程序执行到某个断点时的信息。