LLDB指令笔记
2019-07-07 本文已影响0人
浪淘沙008
- 给test1方法下断点
breakpoint set -n test1
- 查看断点列表
breakpoint list
- 设置某一组断点失效而不删除
breakpoint disable 1
- 设置某一组失效的断点重新激活
breakpoint enable 1
- 设置某一组的某个断点失效或激活
breakpoint disable 1.1
breakpoint enable 1.1
- 删除某一组断点
breakpoint delete 1
- 在项目中所有touchesBegan:withEvent:方法处都设置断点
breakpoint set --selector touchesBegan:withEvent:
- 在某个文件的某个方法处设置断点
breakpoint set --file ViewController.m --selector touchesBegan:withEvent:
- 给项目中带有save关键字的方法加断点(区分大小写)
breakpoint set -r save
- 查看堆栈信息
bt
- 调用方法上走下走
up/next
- bt后根据方法编号选择执行的方法
frame select 2
- 查看当前方法中的参数
rame variable
- c 过掉该断点走下一步
- s 单步运行,遇到子函数会进去
- si 单步运行,可跳转指令内部,汇编级别
- n 单步运行,将子函数当做整体一步执行
- ni 单步运行汇编级别
- 设置观察Person对象的name属性变化的断点
watchpoint set variable p1->_name
- 通过地址添加观察某个值变化的断点
p &p1->_name //获取该值的地址
watchpoint set expression 0x000060000008d510 //设置断点
watchpoint list //查看设置前后的值的变化
- 在某个断点下执行设定的LLDB操作
b -[ViewController saveName] //在vc下的saveName处设置断点
breakpoint command add 3 //开始设置该断点下的操作,以DONE为结束
- 返回该断点断到地点的上一步,但是后面的代码会停止运行
thread return
- 设置每次断点的地方都输出相应方法中的内容(可在.lldbinit文件中配置该设置便于使用)
target stop-hook add -o "frame variable" //类似于上面的执行LLDB语句,可自行设置执行语句
target stop-hook delete 2 //删除hook断点的语句
target stop-hook disable 2 //失效hook断点的语句
- 查看Person对象的信息
image lookup -t Person
- 查看加载了哪些库
image list
- p/x 查看地址
- 查看懒加载表 memory read