iOS调试-Chisel

iOS调试-Chisel_第1张图片

马上就要国庆了,提前祝大家国庆快乐!!

前两天在gitHub上面发现了一个调试的三方框架,Chisel,由facebook开源的lldb插件,功能非常强大,可以让我们的调试更轻松。

1.安装Chisel

源码地址:Chisel

我们可以打开终端,通过brew来安装(如果你没有安装homebrew,参考 homebrew,命令如下:

brew update
brew install chisel

在安装完成之后,终端会用如下信息打印:

==> Caveats Add the following line to ~/.lldbinit to load chisel when Xcode launches: command script import /usr/local/opt/chisel/libexec/fblldb.py

复制Add the following line to ...下面那一句代码
echo command script import /usr/local/opt/chisel/libexec/fblldb.py >> ~/.lldbinit
其中替换 echo 后面 到 >> 前面的内容,最后如果没有问题的话,就可以直接重启Xcode了,在下一次启动后生效。

Chisel的内置命令,常用的有以下:

下面是Chisel的一些常用命令

1.pviews 可以用来打印view的层级


iOS调试-Chisel_第2张图片
Paste_Image.png

2.pvc
这个命令也是递归打印层级,但是不是view,而是viewController。利用它我们可以对viewController的结构一目了然。 其实苹果在IOS8也默默的添加了 UIViewController 的一个私有辅助方法 [UIViewController _printHierarchy] 同样的效果。


iOS调试-Chisel_第3张图片
Paste_Image.png

3.visualize可以用来预览一个view

iOS调试-Chisel_第4张图片
Paste_Image.png

4.show & hide这两个命令用来显示和隐藏一个指定的 UIView . 你甚至不需要Continue Progress. 就可以看到效果。

5.bmessage
这个命令就是用来打断点用的了,虽然大家断点可能都喜欢在图形界面里面打,但是考虑一种情况:我们想在
[MyViewController viewWillAppear:]里面打断点,但是 MyViewController并没有实现 viewWillAppear: 方法, 以往的作法可能就是在子类中实现下viewWillAppear:,然后打断点,然后rebuild。
那么幸好有了 bmessage命令。我们可以不用这样就可以打这个效果的断点: (lldb) bmessage -[MyViewController viewWillAppear:] 上面命令会在其父类的 viewWillAppear: 方法中打断点,并添加上了条件:[self isKindOfClass:[MyViewController class]]

你可能感兴趣的:(iOS调试-Chisel)