美文网首页
动态调试之chisel插件和LLDB插件

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

作者: Code_人生 | 来源:发表于2019-10-30 15:27 被阅读0次

一、Homebrew :包管理工具

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

二、chisel

chisel: lldb的插件

  • brew install chisel:安装chisel

open .: 打开当前文件夹

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

  • /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使用

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

  • chisel更多使用方法

四、LLDB

LLDB: lldb的插件

  • 拷贝到了opt文件下
  • /opt/LLDB/lldb_commands/dslldb.py配置到~目录下.lldbinit文件中
  • command script import /opt/LLDB/lldb_commands/dslldb.py

五、LLDB使用

  • search UIView 查看工程中所有的UIView
  • bt 这个是lldb的命令
  • sbt 和bt命令相似,但是会恢复一部分符号
  • methods UIViewController 查看一个类的所有方法,带方法的内存地址。除了显示当前类里面的方法,还显示父类的方法
  • methods 0x14bd07880 查看一个类的所有方法,带方法的内存地址。主要显示当前类里面的方法

相关文章

网友评论

      本文标题:动态调试之chisel插件和LLDB插件

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