内存断点(watchpoint) : 在内存数据发生改变的时候触发
@property (assign, nonatomic) int age;
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
self.age += 5;
}
watchpoint set variable _age
注意:如果有age有实现自己的setter方法,则会断点在setter方法里 点击屏幕,控制台输出
Watchpoint 1 hit:
old value: 0
new value: 5
watchpoint list
watchpoint disable 断点编号
watchpoint enable 断点编号
watchpoint delete 断点编号
watchpoint command add 断点编号
watchpoint command list 断点编号
watchpoint command list delete 断点编号
类似
breakpoint command add 断点编号
breakpoint command list 断点编号
breakpoint command delete 断点编号
====================================== 添加断点
breakpoint set -n "[ViewController touchesBegan:withEvent:]"
函数
void test() {
int a = 10;
int b = 20;
NSLog(@"%d",a + b);
}
breakpoint set -name "test"
可以不使用双引号
breakpoint set -name test
- (void)btnClickAction{
NSLog(@"%s",__FUNCTION__);
}
给自定义的方法添加断点
breakpoint set -name btnClickAction
或者
breakpoint set -n "btnClickAction"
这样其实会给所有btnClickAction
这个方法添加断点,如果只给当前文件的这个方法添加断点
breakpoint set -n "[ViewController btnClickAction]"
所以,一般添加断点,我们要指定调用对象
==========================================
一.如何给断点添加一系列的执行命令,等触发了断点,就会按顺序执行
先查看当前的断点列表
breakpoint list
breakpoint command add 断点编号
示例:
breakpoint command add 3.1
接着输入需要执行的一系列命令,如下
Enter your debugger command(s). Type 'DONE' to end.
> p self._age
> expression self.view.backgroundColor = [UIColor redColor]
> DONE
查看当前command 设置的命令详情
breakpoint command list 断点编号
删除某个断点设置的命令
breakpoint command delete 断点编号
常用指令
列出所有断点,每个断点有自己的编号,这个编号是不会随着断点数量的变化而变化
breakpoint list
禁用断点
breakpoint disable 断点编号
启用断点
breakpoint enable 断点编号
删除断点
breakpoint delete 断点编号