跳转至

LLDB指令

通过help看

  • x 打印对象内存情况

  • x/4gx 查看内存地址的内存结构数据 4:打印4个 g:8字节 x:16进制打印

x/nuf

n表示要显示的内存单元的个数


u表示一个地址单元的长度

  • b表示单字节

  • h表示双字节

  • w表示四字节

  • g表示八字节


f表示显示方式,可取如下值:

  • x按十六进制格式显示变量
  • d按十进制格式显示变量
  • u按十进制格式显示无符号整型
  • o按八进制格式显示变量
  • t按二进制格式显示变量
  • a按十六进制格式显示变量
  • i指令地址格式
  • c按字符格式显示变量
  • f按浮点数格式显示变量

x/6gx x/8gx x/10gx

  • register read x0 读寄存器

打开汇编调试,读取寄存器中的值

  • register read x0 (x0一般是返回值)
  • register read x1

  • p/x 打印地址

  • po 上面寄存器地址的内容

  • p 内存地址

p 和 po 的区别在于使用 po 只会输出对应的值,而 p 则会返回值的类型以及命令结果的引用名。

  • bt 查看调用堆栈 在方法里打断点,查看调用堆栈。

Swift

po withUnsafePointer(to: &person){print($0)}打印对象