Claude-skill-registry debug-lldb
Capture and analyze thread backtraces with LLDB/GDB to debug hangs, deadlocks, UI freezes, IPC stalls, or high-CPU loops across any language or project. Use when an app becomes unresponsive, switching contexts stalls, or you need thread stacks to locate lock inversion or blocking calls.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/debug-lldb" ~/.claude/skills/majiayu000-claude-skill-registry-debug-lldb && rm -rf "$T"
manifest:
skills/data/debug-lldb/SKILL.mdsource content
Debug Lldb
Overview
Capture stack traces from a live process to explain stalls and freezes, then triage for deadlocks, blocking IPC, or tight loops. Prefer repeat sampling so the hang signature is obvious.
Workflow
1) Identify the process
- Use
/ps
to get the PID.pgrep - Prefer the foreground app PID (not the dev server).
2) Capture backtraces (fast path)
- Use the bundled script:
scripts/collect_stacks.sh --pid <pid> --out /tmp/hang --repeat 3 --sleep 0.5- Or by name:
scripts/collect_stacks.sh --name "<process-substring>" --out /tmp/hang
- Run in a separate terminal if the current one is interactive with the hung app.
3) Capture backtraces (manual)
- macOS (LLDB):
lldb -p <pid> -o 'thread backtrace all' -o 'detach' -o 'quit' > /tmp/hang.txt 2>&1
- Linux (GDB):
gdb -q -p <pid> -ex "thread apply all bt" -ex "detach" -ex "quit" > /tmp/hang.txt 2>&1
- Windows:
- Use WinDbg or cdb to capture all-thread backtraces.
4) Triage the hang
- Compare 3–5 samples taken 0.2–1s apart.
- Use
for quick pattern matching (deadlock vs busy loop vs blocking I/O).references/triage.md
5) Attach context
- Include what action triggered the stall and the exact time window.
- Add relevant app logs around the stall.
Resources
scripts/
- attach to a PID or process name and capture N stack dumps.scripts/collect_stacks.sh
references/
- quick patterns for deadlocks, blocking IPC, and busy loops.references/triage.md