LLDB调试

我常用的都在这里了
  • 给指定的地址加断点
    watchpoint set expression -- 0x7ff1af665390

  • 给变量加断点
    watchpoint set variable

  • 自动给类里面每个方法加断点
    breakpoint set -r '\[ClassName .*\]$'

  • 找到响应事件的类
    po [(0x7ff1af665390) allTargets];
    {(
    >,

    )}

  • 找到响应事件的方法
    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

你可能感兴趣的:(LLDB调试)