参考自 http://www.jianshu.com/p/79468a2eb6db ,这里记录仅供自己方便查阅, 版权归原作者所有。
如果你想快速高效调试IOS程序不妨学习下LLDB插件-Chisel,如果你使用过po,p等调试命令,是否觉得它们还是太弱,想知道一个view的层级还要使用code去打印(虽然我也这样干过),简直不能忍受,下面就让Chisel来解救你吧。
1.Chisel的安装
Github地址:https://github.com/facebook/chisel
Chisel的安装非常简单,你只要安装了homebrew环境,一切都是那么自然轻松。
1. brew update
2. brew install chisel
安装完成后terminal最后出现一个安装目录,类似
command script import /usr/local/opt/chisel/libexec/fblldb.py
这时候你只需要~/.lldbinit文件(如没有,则新建一个)中添加
command script import /usr/local/opt/chisel/libexec/fblldb.py
这句即可。
然后重启Xcode
2.内置命令
2.1 pviews
这个命令可以打印一个view的层级,如:
(lldb) pviews self.window
|;
layer = >
| ; layer = >
| >
2.2 pvc
pvc可以打印一个viewcontroller的层级,而不是view 如:
(lldb) pvc self.mMDrawerController**
; frame = (0, 0; 375, 667)>
| ; frame = (0, 0; 375, 667)>
| ; 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,由于我不懂 所以就略过了.....