iOS~LLDB调试

649 阅读2分钟

chisel

chisel 中文翻译

常用命令

pview view pview 这个命令可以递归打印所有的view,并能标示层级
pvc  递归打印ViewController的层级关系
fv scroll 查找是否存在含有scroll的视图
fvc home 查找是否存在含有home的viewcontroller
taplog 用户点击按钮会进入调试
flicker 内存地址 按钮闪烁
vs 内存地址 进入动态调试环境

lldb_commands

lldb_commands

常用命令

bt:查看函数调用栈
sbt:查看函数调用栈并且恢复部分符号
ls:查看目录
methods UIView :查看某个类的属性和方法
ivars [UIView new] :查看某个对象的所有属性
keychain :查看存储数据

系统自带的命令

reakpoint set -n 某函数名	给某函数下断点
breakpoint set -n "[类名 SEL]" -n "[类名 SEL]" ...	
breakpoint list	查看当前断点列表
b 内存地址	对内存地址下断点
p 语句	动态执行语句
po 语句	print object 常用于查看对象信息
c	程序继续执行
process interrput	暂停程序
image list	列出所有加载的模块 缩写im li
up	查看上一个调用函数
down	查看下一个调用函数
frame variable	查看函数参数
frame select 标号	查看指定调用函数
n	将子函数整体一步执行,源码级别
s	跳进子函数一步一步执行,源码级别
ni	跳到下一条指令,汇编级别
si	跳到当前指令内部,汇编级别
finish	返回上层调用栈
thread return	不再执行往下代码,直接从当前调用栈返回一个值
register read	读取所有寄存器值
register read $x0	读取x0寄存器值
register write $x1 10	修改x1寄存器的值为10
watchpoint set variable p->_name 给属性添加内存断点,属性改变时会触发断点,可以看到属性的新旧值,类似KVO效果