mcpbeat

Debug Lldb

instructa/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.

1k tokens
context cost
the whole folder, loaded on every use
4
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
131
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/instructa/agent-skills --skill debug-lldb

What comes with it

3 666 bytes besides the instruction
README.md
references/triage.md
scripts/collect_stacks.sh

The instruction itself

11 sections, as written by the author

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/pgrep to get the PID.
  • 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 references/triage.md for quick pattern matching (deadlock vs busy loop vs blocking I/O).

5) Attach context

  • Include what action triggered the stall and the exact time window.
  • Add relevant app logs around the stall.

Resources

scripts/

  • scripts/collect_stacks.sh - attach to a PID or process name and capture N stack dumps.

references/

  • references/triage.md - quick patterns for deadlocks, blocking IPC, and busy loops.

How to use it

Copy the folder

Take instructa/debug-lldb from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.