1,第一步安装 homebrew
如果这个命令安装不上,则添加一个关键字
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
如下
ruby -e "$(curl -fsSL --insecure https://raw.githubusercontent.com/Homebrew/install/master/install)"
2,安装facebook/Chisel
brew update
brew install chisel
安装完成之后,查看 .lldbinit 文件是否导入了
command script import /usr/local/opt/chisel/libexec/fblldb.py
3,Chisel的常见使用
(lldb) border --color=red --width=1 0x136080470
3.1> 这个命令是可以通过预览工具查看一个Image, 好像UIView, CALayer也可以打开.
(lldb) visualize 0x7fe205928c70
3.2>可以定位到当前所在的控制器
pvc
<UINavigationController 0x7fc2c1820200>, state: appeared, view: <UILayoutContainerView 0x7fc2c060e650>
| <TableViewController 0x7fc2c0632a10>, state: disappeared, view: <UITableView 0x7fc2c182c400> not in the window
| <DemoMessagesViewController 0x7fc2c28c79a0>, state: appeared, view: <UIView 0x7fc2c05e6d20>
pviews
3.3> 给指定的view或layer添加边框.
Syntax: border [--color=color] [--width=width] <viewOrLayer>
border -c red -w 2 0x7fc2c0633380
unborder 取消边框
3.3 打印响应者链
Print the responder chain starting from a specific responder.
Syntax: presponder <startResponder>
<startResponder>; Type: UIResponder *; The responder to use to start walking
3.4 tap后的信息, 打印你所触摸的view
Log tapped view to the console.
taplog
3.5 打印对象的继承关系
pclass 0x7fc2c1a1d600
JSQMessagesCellTextView
| UITextView
| | UIScrollView
| | | UIView
| | | | UIResponder
| | | | | NSObject
3.6 bmessage 在某个类中设置一个端点,既是你没有重写这个方法.
Arguments:
<expression>; Type: string; Expression to set a breakpoint on, e.g. "-[MyView
setFrame:]", "+[MyView awesomeClassMethod]" or "-[0xabcd1234 setFrame:]"
Syntax: bmessage <expression>
3.7 打印其下持有的所有实例变量
pinternals