Debugging
Debugging
Launch Wawona under LLDB on macOS, iOS, or Android using the --debug flag.
Quick Reference
nix run .#wawona-macos -- --debug # macOS
nix run .#wawona-ios -- --debug # iOS Simulator
nix run .#wawona-android -- --debug # Android
macOS
nix run .#wawona-macos -- --debug
- Wawona starts under LLDB from the beginning
- You can set breakpoints before typing
run - On exit, LLDB prints a full backtrace (
bt all) - Alternative:
WAWONA_LLDB=1 nix run .#wawona-macos
iOS Simulator
nix run .#wawona-ios -- --debug
- Simulator boots and Wawona.app is installed
- App launches with
--wait-for-debugger(paused at spawn) - LLDB attaches to the app PID
- dSYM is loaded for symbols (if present)
- Simulator logs stream in the background
Type continue in LLDB to resume execution.
Android
nix run .#wawona-android -- --debug
- Emulator starts (or uses existing device)
- App launches with
am start -D(waits for debugger) lldb-serveris pushed to the device and started- LLDB connects via
gdb-remoteon port 5039 - Java VM resumes after ~4 seconds; native code runs under LLDB
Requirements: adb and emulator in PATH; device/emulator with USB debugging enabled.
On crash, LLDB stops and gives an interactive prompt. Use bt for backtrace.