A collection of LLDB commands to assist debugging iOS and macOS applications.
Chisel is a collection of LLDB commands that enhance the debugging experience for iOS and macOS developers. It provides high-level commands for inspecting view hierarchies, visualizing UI elements, setting breakpoints, and manipulating the UI during debugging sessions. It solves the problem of verbose and repetitive LLDB commands by offering concise, powerful alternatives.
iOS and macOS developers who use Xcode and LLDB for debugging, particularly those working with UIKit, AppKit, or Swift/Objective-C codebases.
Developers choose Chisel because it dramatically reduces the time and effort required for common debugging tasks, offers intuitive commands that are easier to remember than raw LLDB, and is extensible via custom Python scripts. It's maintained by Facebook and widely adopted in the iOS community.
Chisel is a collection of LLDB commands to assist debugging iOS apps.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Commands like 'pviews' and 'pvc' provide recursive descriptions of view and view controller hierarchies, eliminating the need for manual LLDB traversal during UI debugging.
The 'visualize' command opens images, colors, and layers directly in Preview.app, enabling instant visual feedback without external tools.
With 'bmessage', developers set symbolic breakpoints on methods without knowing the implementing class, simplifying debugging in complex Objective-C/Swift hierarchies.
Chisel supports adding Python-based LLDB commands, allowing teams to create tailored debugging workflows, as demonstrated in the README's custom commands section.
Chisel is tightly coupled to LLDB and Xcode, rendering it ineffective for projects using other debuggers or development environments outside Apple's stack.
Installation requires editing the .lldbinit file with precise paths, and issues like M1 Mac path discrepancies add friction, as noted in the README.
While commands have verbose help, broader guidance relies on external resources like wikis and articles, lacking in-depth tutorials for advanced use cases.