断点的使用技巧
在最初的时候不会用断点,碰到循环里特点条件断点或者特定条件下查看对象的状态属性时,我会傻傻的的去写个if语句,然后重新运行,断点完了后运行,然后再把if和log代码删除,非常低效,其实断点是可以设置属性的。
断点有4个属性可以设置
- Condition
- Ignore
- Option
- Action
- Conditon, 就是断点条件,输入条件表达式后,当符合条件时断点才会生效,解决循环体调试非常有效
- Ignore, 这个很简单,就是忽略断点的次数,如果设置2,第三次符合条件时才会生效
- Option, 这是个勾选项,Automatically continue after evaluating actions。如果选中,那么断点生效时只会输出日志,不会阻断程序运行
- Action 是个很强大的功能,有6种类型,比较常用的有两种 Log Message和Debugger Command
Log Message
在这里填写的东西可以打印到控制台,例如我做了如下设置
举个例子:begin log imageView = @imageView@
或者, 在@@前后可添加自定义语句,如果 i want log imageView = @imageView@
%B会打印断点的名字,%H会打印断点的调用次数,@@中间可以输入表达式。上面的设置在控制台的输出如下:
Debugger Command
这里可以输入调试命令,也就是po(打印对象信息),bt(打印函数栈),expression(表达式)这些调试命令。看图就明白了:
image 控制台输出如下: