Wow and another great release from the Facebook engineering team, this little tool is an excellent addition to the lldb tool.
https://github.com/facebook/chisel
If you are like me, when you debug you usually put a breakpoint in and then print out objects in the lldb console, well now facebook engineering have released chisel, this tool adds extra commands to the lldb. Here a few to name:
Command | Description | ||
---|---|---|---|
pviews | Print the recursive view description for the key window. | ||
pvc | Print the recursive view controller description for the key window. | ||
visualize | Open a UIImage, CGImageRef, UIView, or CALayer in Preview.app on your Mac. | ||
fv | Find a view in the hierarchy whose class name matches the provided regex. | ||
fvc | Find a view controller in the hierarchy whose class name matches the provided regex. | ||
show/hide | Show or hide the given view or layer. You don’t even have to continue the process to see the changes! | ||
mask/unmask | Overlay a view or layer with a transparent rectangle to visualize where it is. | ||
border/unborder | Add a border to a view or layer to visualize where it is. | ||
caflush | Flush the render server (equivalent to a “repaint” if no animations are in-flight).) | ||
bmessage | Set a symbolic breakpoint on the method of a class or the method of an instance without worrying which class in the hierarchy actually implements the method. | ||
wivar | Set a watchpoint on an instance variable of an object. | ||
presponder | Print the responder chain starting from the given object. |
These tools are really handy, especially if you are battling with Autolayout problems, clearly somebody at Facebook was having problems and decided to make a tool to make life easier, well thanks, its a really good idea!
Installation:
A pretty simple install, make sure you have homebrew installed, then its just a matter of:
Then you just need to add a .lldbinit file to your home directory, essentially this is like you .bash_profile, but for xcode/lldb. So this is how i did it.
cd ~
touch .lldbinit
vi .lldbinit
Then once your in vi, just paste in:
command script import /usr/local/opt/chisel/libexec/fblldb.py
Then restart xcode and it should work straight out the box.