使用Chisel增强LLDB调试

iOS调试之chisel

Chisel 是一个 LLDB 指令集合,用户辅助 iOS 应用差错。

一、安装

chisel的安装需要使用Homebrew,如果还没有安装Homebrew,可以使用下面的命令安装,如果你已经安装了,可以跳过这一步

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

用Homebrew安装chisel:

brew update

brew install chisel

在~/.lldbinit中添加命令

touch ~/.lldbinit

echo "command script import /usr/local/opt/chisel/libexec/fblldb.py" >> ~/.lldbinit

重启一下Xcode,安装完成。

更新

如果你想更新chisel,只需要输入更新的命令即可。

brew upgrade chisel

2.内置命令

2.1 pviews

这个命令可以打印一个view的层级,如:

(lldb) pviews self.window

     |

gestureRecognizers = ;

    layer = >

     |

    frame = (0 0; 375 667); autoresize = W+H; gestureRecognizers = ; layer = >

     |

    autoresize = W+H;

layer = >

2.2 pvc

pvc可以打印一个viewcontroller的层级,而不是view 如:

(lldb) pvc self.mMDrawerController**

     

    view = ;  frame = (0, 0; 375,     667)>

     |

        view = ;  frame = (0, 0; 375, 667)>

     |

        view = ;   frame = (inf, inf; 0, 0)>

2.3 visualize

visualize这个命令比较强大,它可以使用预览App打开UImageView CGImageRef UIView CALayer 如:

visualize uiimageview

2.4 fv & fvc

这两个命令是用来通过类名搜索当前内存中存在的view和viewController实例的命令,支持正则搜索。

(lldb)  fvc mm

0x7fd5b658b8c0 MMDrawerController

(lldb)fv cate

  0x7fd5b6e06920 AlbumCategoryView

  0x7fd5b6d63f80 AlbumCategoryView

  0x7fd5b6d66e60 AlbumCategoryView

  0x7fd5b6d69d40 AlbumCategoryView

  0x7fd5b6d6cc20 AlbumCategoryView

  0x7fd5b6e0a150 AlbumCategoryView

2.5 show & hide

这两个命令用来显示和隐藏一个指定的 UIView

   (lldb) show self.view

   (lldb) hide  self.view

也可以使用内存地址隐藏和现实view,比如通过 fv cate找到一个view后使用hide隐藏它

(lldb)fv cate

    0x7fd5b6e06920 AlbumCategoryView

(lldb) hide  0x7fd5b6e06920

常用的就这些命令,当然你也可以自定义Chisel命令,但是需要你了解点python

你可能感兴趣的:(使用Chisel增强LLDB调试)