Xcode lldb 的指令

断点

  • breakpoint 帮助
    $help
    $help breakpoint 简写:break/b

  • 设置断点
    $breakpoint set -n XXX
    set 是子命令
    -n 是选项 是--name 的缩写!

  • 在ViewController类的 save: 和 continue: 方法里面设置断点
    $breakpoint set -n "[ViewController save:]" -n "[ViewController continue:]"

  • 在工程里面对调用方法 save: 设置断点
    $breakpoint set --selecter save:

  • 给内存地址下断点
    $watchpoint set expression 0x0000010339f58

  • 指定文件下的save: 方法下断点
    $b set --file ViewController.m --selecter save:

  • 查看断点列表
    $breakpoint list

  • 删除
    $breakpoint delete 组号

  • 禁用/启用
    $breakpoint disable 禁用
    $breakpoint enable 启用

  • 遍历整个项目中满足Game:这个字符的所有方法
    $breakpoint set -r Game:

  • 打断点后,同时执行一些命令
    $break command add 编号

  • 根据内存地址找出崩溃在哪一行(根据调用栈找出自定义出错方法,要求源码)
    $image lookup -a 0x10225a3f8

  • 查看头文件
    $image lookup -t Person(一个对象)

流程控制

  • 继续执行
    $continue c
  • 单步运行,将子函数当做整体一步执行
    $n next
  • 单步运行,遇到子函数会进去
    $s

stop-hook

让你在每次stop的时候去执行一些命令,只对breadpoint,watchpoint

  • 每个断点下,会执行frame variable 命令
    $target stop-hook add -o "frame variable"

  • 删除hook
    $undisplay 编号
    $target stop-hook delete 编号

常用命令

  • image list
  • p/expression
  • b -[xxx xxx]
  • x // memory read 0x4593245 缩写
  • register read // 寄存器读
  • po

指令补充

  • 使用p指令可以通过ctrl + enter 写多条代码
  • bt // 打印调用栈信息
  • frame select 编号 // 编号可以从bt指令运行后查看到,frame指令是打印编号对应的函数
  • up/down指令,//根据调用栈,依据当前的断点,让断点移动到上一个/下一个调用函数里面
  • frame variable // 查看当前函数的全部变量
  • thread return // 函数的终结,等于给当前函数加了一个return
  • watch set variable p1->_name

你可能感兴趣的:(Xcode lldb 的指令)