Wow and another great release from the Facebook engineering team, this little tool is an excellent addition to the lldb tool.
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:
|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!
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.
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.