当你通过Xcode的源码编辑器的侧边槽(或者通过下面的方法)插入一个断点,程序到达断点时就会停止运行。
调试条上会出现四个你可以用来控制程序的执行流程的按钮。
从左到右,四个按钮分别是:continue,stepover,step into,step out.
第一个,continue按钮
会取消程序的暂停,允许程序正常执行(要么一直执行下去,要么到达下一个断点)。在lldb中,可以使用process continue命令达到同样的效果,它的别名为continue,或者也可以缩写成c.
第二个,step over按钮
会以黑盒的方式执行一行代码。如果所在这行代码是一个函数调用,那么就不会跳进这个函数,而是会执行这个函数,然后继续。在lldb中可以使用thread step-over,next,或者n命令
第三个,step into
跳进一个函数调用来调试或者检查程序的执行情况,就用step into按钮,或者在lldb中使用thread step-into,step,或者s命令,
注意:当前行不是函数调用时,next和step的效果是一样的。
第四个,step out
不小心跳进一个函数,但实际是想跳过它,常见的反应是重复的运行n知道函数返回。step out按钮会继续执行到下一个返回语句(知道一个堆栈帧结束)然后再次停止。