1、条件断点
打上断点之后,对断点进行编辑,设置相应过滤条件。下面简单的介绍一下条件设置:
Condition:返回一个布尔值,当布尔值为真触发断点,一般里面我们可以写一个表达式。
Ignore:忽略前N次断点,到N+1次再触发断点。
Action:断点触发事件,分为六种:
AppleScript:执行脚本。
Capture GPU Frame:用于OpenGL ES调试,捕获断点处GPU当前绘制帧。
Debugger Command:和控制台中输入LLDB调试命令一致。
Log Message:输出自定义格式信息至控制台。
Shell Command:接收命令文件及相应参数列表,Shell Command是异步执行的,只有勾选“Wait until done”才会等待Shell命令执行完在执行调试。
Sound:断点触发时播放声音。
这些功能平时在调试程序的过程中都可以进行尝试,说实话我用的设置Condition项会较多些。
Options(Automatically continue after evaluating actions选项):选中后,表示断点不会终止程序的运行。
2、全局断点
设置全局断点(异常断点),当遇到错误,Debug程序会自动定位到栈底信息,即跳到出错代码所在行。
Exception:选项可以让你选择响应Objective-C对象抛出的异常,也可以选择响应C++对象抛出的异常。
Break:则是选择断点所接收的异常,是接收“Throw”语句抛出的异常还是Catch语句的。
全局断点
网友评论