(命令)和(子命令):LLDB调试命令的名称。命令和子命令按层级结构来排列:一个命令对象为跟随其的子命令对象创建一个上下文,子命令又为其子命令创建一个上下文,依此类推。 2. :执行命令的操作 3. :命令选项 4. :命令的参数 5. []:表示命令是可选的,可以有也可以没有.
打印对象po
如果我们想打印对象。我们需要使用命令选项:-O。为了更方便的使用,LLDB为expression -O –定义了一个别名:po
执行表达式expression
执行某个表达式。 我们在代码运行过程中,可以通过执行某个表达式来动态改变程序运行的轨迹。 假如我们在运行过程中,突然想把self.view颜色改成红色,看看效果。我们不必写下代码,重新run,只需暂停程序,用expression改变颜色,再刷新一下界面,就能看到效果
改变颜色
刷新界面
将返回值输出
设置断点
breakPoint set 表示设置断点,-n表示根据方法名name设置断点,main为方法名参数。
使用-f指定文件
我们只需要给ViewController.m文件中的viewDidLoad设置断点:
这里需要注意,如果方法未写在文件中(比如写在category文件中,或者父类文件中),指定文件之后,将无法给这个方法设置断点
使用-l指定文件某一行设置断点
我们想给ViewController.m第38行设置断点
使用-c设置条件断点
text:方法接受一个ret的参数,我们想让ret == YES的时候程序中断:
有的时候我们可能暂时不想要某个断点,可以使用breakpoint disable让某个断点暂时失效 e.g: 我们来让刚刚的断点4失效
enable使断点重新生效
breakpoin查看设置了哪些断点