debug-lldb
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.zipInstalls 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.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
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/pgrepto 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.mdfor 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
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.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| debug-lldb (this skill) | 1 | 7mo | Review | Intermediate |
| memory-safety-patterns | 4 | 4mo | No flags | Advanced |
| function-call-tracing | 1 | 4mo | Review | Advanced |
| constant-time-analysis | 1 | 2mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by regenrek
View all by regenrek →You might also like
memory-safety-patterns
sickn33
Implement memory-safe programming with RAII, ownership, smart pointers, and resource management across Rust, C++, and C. Use when writing safe systems code, managing resources, or preventing memory bugs.
function-call-tracing
gadievron
Instrument C/C++ with -finstrument-functions for execution tracing and Perfetto visualization
constant-time-analysis
trailofbits
Detects timing side-channel vulnerabilities in cryptographic code. Use when implementing or reviewing crypto code, encountering division on secrets, secret-dependent branches, or constant-time programming questions in C, C++, Go, Rust, Swift, Java, Kotlin, C#, PHP, JavaScript, TypeScript, Python, or Ruby.
jit-overview
facet-rs
Orientation to facet-format JIT deserialization (tiering, fallbacks, key types/entry points) and where to look when changing or debugging JIT code
benchmark-kernel
flashinfer-ai
Guide for benchmarking FlashInfer kernels with CUPTI timing
m10-performance
actionbook
CRITICAL: Use for performance optimization. Triggers: performance, optimization, benchmark, profiling, flamegraph, criterion, slow, fast, allocation, cache, SIMD, make it faster, 性能优化, 基准测试