程序员每天接触最多的就是对象(自己主动New的)和bug,而在开发中掌握一些调试技巧是很有用的,今天工作中遇到了一个bug搞得心好累,晚上就写一点自己调试中会用到的方法。
Apple的编译器是LLVM,编译器在开发中会帮助我们很多,就像内存管理现在我们可以设置编译器的ARC为有效状态,这样我们就在也不用像原来那样苦逼的进行内存管理了。
所以就先讲一个和编译器有关的调试技巧
一.LLDB调试命令
LLDB是LLVM下的调试器,Xcode从4.0开始编译器开始改用LLVM,相应的调试器也从gdb改为LLDB。而从 Xcode5.0开始所有工程也被自动设置为使用LLDB(我是没接触过gdb)
我们可以通过一些LLDB命令来帮助我们调试。
首先怎么调试:在项目中打个断点我们就可以看到:
在箭头指向的位置我们看到了lldb,这样我们就可以输入指令:
- po---最常用的,po是一般是输出 Objective-C 对象的,p是输出基本类型的,但是我们发现其实都可以用。(注意输出的信息中带有$1的字样。实际上,我们每次查询的结果会保存在一些持续变量中($[0-9]+))这样你可以在后面的查询中直接使用这些值像这样:
(lldb) po $1
dongdong
-
expr---可以在调试时动态执行指定表达式,并将结果打印出来。常用于在调试过程中修改变量的值
-
call--即是调用的意思,如call age=18,也会改掉值
lldb命令还有很多,但是在iOS开发中我常用的就这么几个,下面介绍一下lldb命令和断点的一些使用
二。断点
在断点中我们可以进行一些编辑,从而让其达到我们的需求,使用方法可以在断点上双击进入第一个选项,或者commond+option+单击就可以进入编辑状态
2828

被折叠的 条评论
为什么被折叠?



