在开发当中我自己用到的最多的肯定是断点调试了,但是强大的Xcode显然不止这么一点调试优化工具,这篇文章就用来记录并分享我用的几种方法:【本文持续更新,欢迎大家提出宝贵建议】
一、断点调试
【1.普通断点】断点(Breakpoint)绝对是调试程序的第一大选择,也是掌握的基础技能。顾名思义,当程序运行到断点处时会暂停运行。比如断点打在11行,那么程 序就会停在11行(注意:程序只运行到了前10行,第11行其实还没有被执行!!!)。只要在代码行旁边点击,就能添加一个断点,再次点击,就能让断点不 可用(disable了,仍然存在,只是不起作用了)。在某一行创建断点的快捷键是:command+\
![1913001-c1aefe7a79fe6d60.png](https://i-blog.csdnimg.cn/blog_migrate/8733c2c7898cd0915971095e49fe3c53.webp?x-image-process=image/format,png)
此时断点有效
![1913001-c4aa7e01c37e78de.png](https://i-blog.csdnimg.cn/blog_migrate/641c6da1b0e0634a42d98a94e4579637.webp?x-image-process=image/format,png)
此时断点无效
并能在调试过程中在下方看到参数的值:
![1913001-88b3ff6075e2b9ad.png](https://i-blog.csdnimg.cn/blog_migrate/4a75fd1af698a8313b08ad479ab5c2dd.webp?x-image-process=image/format,png)
调试过程
注意:断点调试中还有一个经常用到的命令是po,用来打印对象信息
【2.条件断点】以上的断点只是最普通的,我们还能对断点的属性进行配置,设置条件,使断点更加智能化,右键断点进入编辑对话框:
![1913001-ab052db69df5ac39.png](https://i-blog.csdnimg.cn/blog_migrate/b368103efcdd60bf6a51c986c76bff2f.webp?x-image-process=image/format,png)
在断点上右键即可
我以一个循环作为测试代码:
![1913001-5d33b821a25a56a3.png](https://i-blog.csdnimg.cn/blog_migrate/ce4bb1a0eed7dca4afd23441724eb151.webp?x-image-process=image/format,png)
简单的一个for循环
循环中的代码每次都要单步执行,可能这并不是我想要的。我想要在i为3的时候中断程序,进行调试,编写条件如下:
![1913001-47e587d266648914.png](https://i-blog.csdnimg.cn/blog_migrate/d1773f7c48d4cbbdae1df6cfe2370ed0.webp?x-image-process=image/format,png)
编写条件
设置i==3的条件后,程序就会在该条件时中断,而不会每次到达该位置都中断。中断时输出如下:
![1913001-9ca2630831071dcd.png](https://i-blog.csdnimg.cn/blog_migrate/e3329511e76e324c8e862f3e5ba8fe28.webp?x-image-process=image/format,png)