我常用的都在这里了
- 给指定的地址加断点
watchpoint set expression -- 0x7ff1af665390
- 给变量加断点
watchpoint set variable
- 自动给类里面每个方法加断点
breakpoint set -r '\[ClassName .*\]$'
- 找到响应事件的类
po [(0x7ff1af665390) allTargets];
{(
<XXXClass: 0x7ff1b1037000; baseClass = UITableViewCell; frame = (0 65; 375 150); autoresize = W; layer = <CALayer: 0x608000626a80>>,
<XXXClass: 0x60000001c750>
)}
- 找到响应事件的方法
po [(0x7ff1af665390) actionsForTarget:(id)0x7ff1b1037000 forControlEvent:0];
<__NSArrayM 0x600000a5f920>(
XXXMethod:
)
- 打印对象的内容
p *((XXXClass *)0x7fb2fc601e40)
- 打印对象属性的内容
p *((XXXClass *)0x000060800044ccc0).XXXProperty
- 改变某个view的属性
//e.g.临时改变view的颜色
expr aView.backgroundColor = [UIColor redColor];
- 打印对象地址
po object
- 打印所有通知中心的观察者
po [NSNotificationCenter defaultCenter]
抛砖引玉,大家自由发挥。更多命令可以去lldb官方网站查看
//official website
https://lldb.llvm.org/
//about custom command
https://stackoverflow.com/questions/12829665/how-to-call-methods-or-execute-code-in-lldb-debugger
//about swift
https://stackoverflow.com/questions/37390238/how-can-i-set-lldbs-default-language-to-swift
网友评论