美文网首页
iOS 底层 - 常用LLDB指令

iOS 底层 - 常用LLDB指令

作者: 水中的蓝天 | 来源:发表于2020-04-05 12:31 被阅读0次

本文源自本人的学习记录整理与理解,其中参考阅读了部分优秀的博客和书籍,尽量以通俗简单的语句转述。引用到的地方如有遗漏或未能一一列举原文出处还望见谅与指出,另文章内容如有不妥之处还望指教,万分感谢。

常用LLDB指令集

  • print 、p : 打印基本数据类型

  • po : 打印对象

  • bt :打印函数调用栈 -- >下断点,在控制台输入bt指令

  • expression : 简写 - -> expr 修改变量的值 示例:expression str = @"嗨不嗨" expr str = @"你猜"

  • si : stepi -- step instruction 汇编指令级别的一行一行执行,并且可以进入函数

  • ni : nexti 汇编指令级别的一行一行执行,不能进入函数
    注意:step 、next去掉 i这个指令就表示是OC方法层面的执行

  • 读取内存

    • memory read/数量格式字节数 内存地址
    • x/数量格式字节数 内存地址
    • 示例: x/3xw 0x10011
  • 格式

    • x :16进制 ,f :浮点数 ,d: 10进制
  • 字节大小

    • b : byte 1字节, h : half word 2字节
    • w : word 4字节,g : giant word 8字节
  • 修改内存中的值

    • memory write 内存地址 数值
    • 示例:memory write 0x0000010 10
  • 单步运行,把子函数当做整体一步执行 (源码级别)
    thread step-over
    next
    n

  • 单步运行,遇到子函数会进入子函数(源码级别)
    thread step-in
    step
    s

  • 单步运行,把子函数当做整体一步执行(汇编级别)
    thread step-inst
    stepi
    si

  • 直接执行完当前函数的所有代码,返回到上一个函数(遇到断点会卡住)
    thread step-out
    finish

相关文章

网友评论

      本文标题:iOS 底层 - 常用LLDB指令

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