DE

It automates backtrace collection and compares thread states to diagnose process stalls.

Install

mkdir -p .claude/skills/debug-lldb && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/2921" && unzip -o skill.zip -d .claude/skills/debug-lldb && rm skill.zip

Installs to .claude/skills/debug-lldb

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

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.
287 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

Key capabilities

  • Capture thread backtraces from live processes
  • Automate collection of multiple stack samples
  • Identify deadlock and stall signatures
  • Analyze high-CPU loops and blocking I/O
  • Compare thread states across time intervals

How it works

It attaches to a running process to dump the call stacks of all threads, allowing for the identification of blocked or looping execution paths.

Inputs & outputs

You give it
Process PID or name
You get back
Collected thread backtrace files

When to use debug-lldb

  • Diagnose a UI thread freeze
  • Identify deadlock locations in code
  • Find cause of high CPU utilization

About this skill

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.

When not to use it

  • Debugging non-responsive processes without access to symbols
  • Tasks unrelated to thread-level performance or stalls

Prerequisites

Access to process PIDLLDB or GDB installed

Limitations

  • Requires appropriate permissions to attach to processes
  • Symbol availability affects the quality of backtraces

How it compares

It provides a structured workflow for repeat sampling to distinguish between transient stalls and permanent deadlocks.

Compared to similar skills

debug-lldb side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
debug-lldb (this skill)17moReviewIntermediate
memory-safety-patterns44moNo flagsAdvanced
function-call-tracing14moReviewAdvanced
constant-time-analysis12moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry