LLDB调试

我常用的都在这里了
  • 给指定的地址加断点
    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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • [转]浅谈LLDB调试器文章来源于:http://www.cocoachina.com/ios/20150126/...
    loveobjc阅读 2,617评论 2 6
  • LLDB是个开源的内置于XCode的具有REPL(read-eval-print-loop)特征的Debugger...
    艾伦噢耶阅读 540评论 0 1
  • 前言 在iOS开发中经常使用NSLog进行打印调试,简单方便。NSLog每次调用会打印大量信息,时间、名称、进程等...
    z4ywzrq阅读 1,309评论 0 5
  • 进入方式:1.终端进入;2.Xcode进入——在程序中设置断点,当程序(crash)挂起时,在输出窗口中选择Deb...
    Yespon阅读 8,207评论 0 6
  • 我看到了我自己 有着一定的能力被老师们所信任 却曾遭到小团体内其他人的排挤和孤立 虽然某种意义上和她们已经绝交 但...
    欣昉阅读 529评论 0 0