美文网首页
iOS LLDB调试

iOS LLDB调试

作者: 木扬音 | 来源:发表于2021-05-16 17:12 被阅读0次

    LLDB是默认内置在Xcode中的动态调试工具,标准的LLDB提供了一组广泛的命令来与老版本GDB兼容,除了标准配置外,我们还可以自定义LLDB来满足实际需求
    LLDB官方API文档

    常见命令

    设置断点

    breakpoint set -n xxx
    
    image.png
    image.png

    查看断点

    breakpoint list
    
    image.png

    启用、禁用、删除断点

    breakpoint disable //禁用
    
    breakpoint enable  //启用
    
    breakpoint delete  //删除
    
    image.png

    遍历所有字符找到对应的字符设置断点

    //整个项目
    breakpoint set -r  xxx   //模糊匹配(包含)
    breakpoint set -selector  xxx  //精准匹配(一致)
    
    //指定某个文件
    breakpoint set --file ViewController.m --selector save://精准匹配(一致)
    
    全局模糊匹配
    全局精准匹配 某个文件精准匹配

    查看 breakpoint 命令

    help breakpoint
    
    image.png

    流程控制

    • 继续执行
      c (continue)
    • 单步运行,将子函数当做整体一步执行
      n (next)
    • 单步运行,遇到子函数会进去
      s
    • 当执行遇到到breakpoint,watchpoint的时候执行一些命令
      target stop-hook add -o


      target stop-hook add -o
    • 在执行到某一个具体的breakpoint,watchpoint时候执行一些命令
      break command add


      break command add

    其他命令

    • 执行、打印、修改代码
      p (expression -O --)
      po (expression --)
    • 查看某块列表
      image list
    • 读取寄存器
      register read
    • 写入寄存器
      register write
    • 读取内存值
      Memory read

    堆栈信息

    bt -- 查看当前堆栈
    up -- 跳转到上一个堆栈
    down -- 跳转到下一个堆栈
    frame variable -- 打印当前frame(帧)的所有变量

    image.png

    thread return -- 直接返回,不执行后面的代码

    watchpoint内存断点

    watchpoint set variable
    
    watchpoint set variable
    watchpoint set expression
    
    watchpoint set expression

    .lldbinit文件

    我们可以在LLDB初始化的时候去设置自己需要的指令

    image.png image.png

    相关文章

      网友评论

          本文标题:iOS LLDB调试

          本文链接:https://www.haomeiwen.com/subject/yiwljltx.html