一、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:退出调试状态
四、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
查看一个类的所有方法,带方法的内存地址。主要显示当前类里面的方法
网友评论