动态调试之chisel插件和LLDB插件

一、Homebrew :包管理工具

brew --version //简写brew -v
brew list 查看包管理工具中安装的工具

二、chisel

chisel: lldb的插件

  • brew install chisel:安装chisel
    动态调试之chisel插件和LLDB插件_第1张图片

open .: 打开当前文件夹

  • 安装在了/usr/local/Cellar/chisel/目录下

    动态调试之chisel插件和LLDB插件_第2张图片

  • /usr/local/Cellar/chisel/1.8.1/libexec/fblldb.py配置到~目录下.lldbinit文件中

  • command script import /usr/local/Cellar/chisel/1.8.1/libexec/fblldb.py

    动态调试之chisel插件和LLDB插件_第3张图片

三、chisel使用

  • po [self.view recursiveDescription] 循环打印,view上的所有子控件,这个是lldb的命令
    动态调试之chisel插件和LLDB插件_第4张图片
  • pviews self.view 循环打印,view上的所有子控件
  • pviews 循环打印
  • command source ~/.lldbinit Xcode项目已经在运行中,修改了.lldbinit文件,需要重新加载一下.lldbinit文件
  • pvc 打印所有控制器
  • pactions 0x10de0bad0
  • presponder 0x10de0bad0 响应者链条
  • pclass 0x10dd0df80 查看类的继承关系
  • pmethods 0x10dd0df80 查看类的方法,不带方法的内存地址(和methods的区别)
  • pinternals 0x10dd0df80 查看类的属性
    动态调试之chisel插件和LLDB插件_第5张图片
  • po 0x10dd0df80 知道内存地址,查看它是啥,这个是lldb的命令
  • fvc -v 0x10dd0df80 知道内存地址,查看它是那个ViewController
  • fv UIButton 知道View的名字查看内存
  • taplog 执行之后,lldb会断了,然后点击任何可点击的按钮程序又会断下来
  • flicker 0x10de0bad0 隐藏并显示闪烁一下,标记出来
    动态调试之chisel插件和LLDB插件_第6张图片
  • vs 0x10de0bad0 进入调试状态。w:进入父控件,s:进入第一个子控件,a:平级上一个控件,d:平级下一个控件,p:打印当前的层级关系。q:退出调试状态

    动态调试之chisel插件和LLDB插件_第7张图片

  • chisel更多使用方法

四、LLDB

LLDB: lldb的插件

  • 拷贝到了opt文件下
动态调试之chisel插件和LLDB插件_第8张图片
  • /opt/LLDB/lldb_commands/dslldb.py配置到~目录下.lldbinit文件中
  • command script import /opt/LLDB/lldb_commands/dslldb.py
    动态调试之chisel插件和LLDB插件_第9张图片

五、LLDB使用

  • search UIView 查看工程中所有的UIView
  • bt 这个是lldb的命令
  • sbt 和bt命令相似,但是会恢复一部分符号
  • methods UIViewController 查看一个类的所有方法,带方法的内存地址。除了显示当前类里面的方法,还显示父类的方法
  • methods 0x14bd07880 查看一个类的所有方法,带方法的内存地址。主要显示当前类里面的方法
    动态调试之chisel插件和LLDB插件_第10张图片
  • LLDB更多使用方法

你可能感兴趣的:(动态调试之chisel插件和LLDB插件)