美文网首页
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