К основному содержанию
скилл CX Codex

cli-anything-lldb — скилл для Claude Code: LLDB и установка

Скилл запускает структурированные LLDB-сессии с JSON-выводом: ставит точки останова, изучает кадры и память, подключается к процессам.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add HKUDS/CLI-Anything --skill cli-anything-lldb -a claude-code
Открыть на GitHub

Что делает cli-anything-lldb

cli-anything-lldb управляет отладкой через LLDB Python API. Он создаёт цель из исполняемого файла, запускает процесс или подключается к нему по PID или имени, работает с точками останова, потоками, кадрами, локальными переменными и выражениями. Результаты автоматизированных вызовов удобно получать в JSON через флаг --json.

Сессия сохраняется между отдельными вызовами по умолчанию. Для неё можно задать собственный файл через --session-file PATH или CLI_ANYTHING_LLDB_SESSION_FILE, а после работы закрыть сессию командой session close. Перед командами процесса или дампа нужно выполнить target create.

Скилл также запускает DAP-сервер через cli-anything-lldb-dap или cli-anything-lldb dap. DAP поддерживает запуск, подключение, точки останова, стек, переменные, вычисление выражений и чтение памяти. Для работы нужны lldb (Python bindings), click>=8.0 и prompt-toolkit>=3.0; это повод проверить установку Python-привязок LLDB заранее.

Какие задачи решает

  • создать цель LLDB из исполняемого файла
  • поставить условную или отложенную точку останова
  • посмотреть стек, локальные переменные и выражение
  • прочитать или найти данные в памяти процесса
  • подключить отладчик к AI-клиенту через DAP

Примеры запросов агенту

  • Создай цель для /path/to/exe, запусти её и поставь точку останова на main через cli-anything-lldb --json.
  • Покажи стек и локальные переменные текущего кадра, используя cli-anything-lldb --json thread backtrace --limit 20 и cli-anything-lldb --json frame locals.
  • Подключись к процессу по PID, найди в памяти needle, а после работы выполни cli-anything-lldb --json session close.

Как установить cli-anything-lldb

1Через Skills CLI (Vercel)

npx skills add HKUDS/CLI-Anything --skill cli-anything-lldb -a claude-code

2Вручную: положить файлы

~/.claude/skills/cli-anything-lldb/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/cli-anything-lldb/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о cli-anything-lldb

Как установить cli-anything-lldb в Claude Code?

Выполните npx skills add HKUDS/CLI-Anything --skill cli-anything-lldb -a claude-code, затем повторите npx skills add HKUDS/CLI-Anything --skill cli-anything-lldb -a claude-code. Файл скилла находится по пути ~/.claude/skills/cli-anything-lldb/SKILL.md.

Что делает cli-anything-lldb?

Скилл проводит LLDB-отладку с сохраняемым состоянием и структурированным JSON-выводом. Он умеет запускать и подключать процессы, управлять точками останова, исследовать кадры и память, загружать core dump и запускать DAP-сервер.

Что нужно для работы cli-anything-lldb?

Нужны lldb (Python bindings), click>=8.0 и prompt-toolkit>=3.0. Для команд процесса или core dump сначала создайте цель через target create.

Исходный текст

SKILL.md · Apache-2.0
---
name: "cli-anything-lldb"
description: Stateful LLDB debugging via LLDB Python API
version: 1.0.0
command: cli-anything-lldb
install: pip install cli-anything-lldb
requires:
  - lldb (Python bindings)
  - click>=8.0
  - prompt-toolkit>=3.0
categories:
  - debugging
  - native
  - lldb
---

# LLDB CLI Skill

Use this CLI to run structured LLDB debugging workflows with JSON output.

## Capabilities

- Create debug target from executable path
- Launch process or attach by pid/name
- Manage breakpoints (set/list/delete/enable/disable)
- Inspect threads, frames, locals, and backtrace
- Evaluate expressions in current frame
- Read/find process memory
- Load core dumps
- Interactive REPL with persistent session state
- Formal stdio Debug Adapter Protocol server for AI/editor clients

## Quick Commands

```bash
cli-anything-lldb --json target create --exe /path/to/exe
cli-anything-lldb --json process launch --arg foo --arg bar
cli-anything-lldb --json breakpoint set --function main
cli-anything-lldb --json breakpoint set --function PluginEntry --allow-pending
cli-anything-lldb --json process continue
cli-anything-lldb --json process interrupt
cli-anything-lldb --json thread backtrace --limit 20
cli-anything-lldb --json frame locals
cli-anything-lldb --json expr "myVar"
cli-anything-lldb --json memory read --address 0x1000 --size 64
cli-anything-lldb --json session close
```

## Debug Adapter Protocol

Use the DAP entry point when an AI client needs a real debug adapter lifecycle
instead of shelling out separate CLI commands:

```bash
cli-anything-lldb-dap
cli-anything-lldb-dap --profile /path/to/stop-rules.json
```

or:

```bash
cli-anything-lldb dap
cli-anything-lldb dap --profile /path/to/stop-rules.json
```

The DAP server speaks stdio `Content-Length` frames and must have exclusive
stdout. Do not print logs to stdout around it. Supported requests include
`initialize`, `launch`, `attach`, `configurationDone`, `setBreakpoints`,
`setFunctionBreakpoints`, `threads`, `stackTrace`, `scopes`, `variables`,
`setVariable`, `evaluate`, `continue`, `pause`, `next`, `stepIn`, `stepOut`,
`source`, `loadedSources`, `readMemory`, `modules`, `exceptionInfo`,
`disassemble`, and `disconnect`.

DAP variables can expose child references for structs/classes/arrays. Use
`setVariable` only while stopped; LLDB may reject writes to optimized-out or
read-only values.

For long-running GUI debuggees, DAP `continue` is non-blocking from the client's
point of view: the adapter sends the response and `continued` event first, then
waits for LLDB on a background thread. DAP `pause` uses LLDB async interrupt.
If an agent needs to change breakpoints while the debuggee is running, the
adapter interrupts first and waits for a stopped state before mutating LLDB
breakpoints; if the target does not stop in time, retry after an explicit
`pause`/`stopped` cycle.

For GUI apps that stop on debugger-internal startup or shader-JIT breakpoints,
`launch` and `attach` accept the non-standard boolean argument
`autoContinueInternalBreakpoints`. Enable it only when those internal stops are
noise for the task; the adapter emits an `output` event before auto-continuing.
For target-specific noise, prefer structured stop rules through inline
`stopRules` or an external `stopRuleProfile`/`--profile` JSON file. Rules can
match by `reason`, `module`, `function`, and/or `regex`, then either `stop` with
clear `cliAnythingStop.origin` metadata or `continue` automatically. Use
profiles for apps such as C4D so their NVIDIA shader-JIT/startup traps live
outside the generic adapter.

DAP `stopped` events include `body.cliAnythingStop.origin`: `manualPause` for a
client pause request, `internalTrap` for a matched internal rule, and `debuggee`
for ordinary program stops. Existing `cli-anything-lldb-dap` processes do not
hot-load new code or profile contents; restart the adapter and re-attach or
re-launch before expecting new rules to apply.

## Command Groups

### target
```bash
cli-anything-lldb --json target create --exe /path/to/exe [--arch x86_64]
cli-anything-lldb --json target info
```

### process
```bash
cli-anything-lldb --json process launch [--arg ARG ...] [--env KEY=VALUE ...] [--cwd DIR] [--stop-at-entry]
cli-anything-lldb --json process attach --pid 1234
cli-anything-lldb --json process attach --name myapp --wait-for
cli-anything-lldb --json process continue
cli-anything-lldb --json process interrupt
cli-anything-lldb --json process detach
cli-anything-lldb --json process info
```

### breakpoint
```bash
cli-anything-lldb --json breakpoint set --function main
cli-anything-lldb --json breakpoint set --file main.c --line 42 --condition "i > 10"
cli-anything-lldb --json breakpoint set --function LateLoadedSymbol --allow-pending
cli-anything-lldb --json breakpoint list
cli-anything-lldb --json breakpoint delete --id 1
cli-anything-lldb --json breakpoint enable --id 1
cli-anything-lldb --json breakpoint disable --id 1
```

### thread / frame / step
```bash
cli-anything-lldb --json thread list
cli-anything-lldb --json thread select --id 11111
cli-anything-lldb --json thread backtrace --limit 50
cli-anything-lldb --json frame select --index 0
cli-anything-lldb --json frame info
cli-anything-lldb --json frame locals
cli-anything-lldb --json step over
cli-anything-lldb --json step into
cli-anything-lldb --json step out
```

### expr / memory / core
```bash
cli-anything-lldb --json expr "argc"
cli-anything-lldb --json memory read --address 0x1000 --size 128
cli-anything-lldb --json memory find "needle" --start 0x1000 --size 4096
cli-anything-lldb --json core load --path /path/to/core
```

## Agent Usage Notes

- Prefer `--json` for all automated flows.
- Separate non-REPL invocations share a persistent session daemon by default.
- Use `--session-file PATH` or `CLI_ANYTHING_LLDB_SESSION_FILE` to pin an explicit session for a task.
- Run `cli-anything-lldb --json session close` when finished so attached processes detach and launched debuggees are cleaned up.
- Use REPL when a human-like interactive shell is more convenient, not because persistence requires it.
- Unresolved CLI breakpoints fail by default; pass `--allow-pending` only when a future module/symbol load is expected.
- DAP unresolved breakpoints use protocol semantics: `verified: false` until resolved.
- DAP `continue` is non-blocking for long-running GUI processes, and DAP `pause` uses async interrupt.
- DAP breakpoint changes during an active continue first interrupt and wait for a stopped state before mutating LLDB.
- Use DAP stop-rule profiles for app-specific internal traps; restart and re-attach/re-launch after profile changes.
- `memory find` uses a chunked scan capped at 1 MiB per call.
- Call `target create` before process or core commands.
- Expect structured errors: `{"error": "...", "type": "..."}`

© HKUDS · Apache-2.0 · HKUDS/CLI-Anything

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
dbg theodo-group Скилл учит агента работать с CLI-отладчиком dbg: ставить брейкпоинты, шагать по коду, смотреть переменные и править JS/TS без перезапуска. CX Codex +1 620установок core-dumps mohitmishra786 Учит агента включать core dumps, грузить их в GDB или LLDB и снимать стек без повторного запуска упавшей программы. CX Codex +1 764установок zig-debugging mohitmishra786 Скилл для ИИ-агента: разбирает паники Zig, error return traces и сессии GDB/LLDB. Пригодится, когда программа падает, а стек нечитаемый. CX Codex +1 511установок c-bounds-safety superagents-lab Помогает внедрить расширение -fbounds-safety в C-код, настроить аннотации указателей и отладить ошибки переполнения буфера во время сборки и в рантайме. CX Codex +1 623установок memory-leak-detection aj-geddes Скилл помогает найти и починить утечки памяти: heap-снимки, профилирование, разбор типичных причин роста потребления. CX Codex +1 580установок python-debugpy Hermes Agent Скилл учит агента отлаживать код на Python через локальный REPL pdb и удалённый протокол DAP в debugpy. Помогает пошагово разобрать сбои в тестах и фоновых процессах. CX Codex +1 399установок

Из того же набора55

cli-anything-seaclip Интерфейс командной строки для управления задачами, пайплайнами и расписаниями на доске SeaClip-Lite. Позволяет агенту читать данные через JSON и менять статусы без сохранения сессии. CX Codex +1 452установок cli-anything-rms Даёт агенту командную строку для Teltonika RMS: список роутеров, гейтвеев и IoT-устройств, алерты, конфиги и отчёты. CX Codex +1 451установок cli-anything-unrealinsights Скилл управляет трассировкой Unreal Engine, Trace Store и Unreal Insights, а затем выгружает тайминги и счётчики. Нужен для профилирования через агента. CX Codex +1 434установок cli-anything-nsight-graphics Управляет захватами и анализом NVIDIA Nsight Graphics из командной строки. Пригодится для диагностики кадров и трассировок GPU. CX Codex +1 412установок cli-anything-quietshrink Скилл сжимает скринкасты на компьютерах Apple Silicon через аппаратный кодер HEVC. Помогает уменьшить размер файлов .mov и .mp4 на 70–90% без нагрузки на процессор. CX Codex +1 387установок cli-anything-sbox CLI с 79+ командами для работы с s&box (Source 2): редактируете сцены, префабы, материалы и конфиги прямо из агента, генерируете C# код и валидируете проект без запуска редактора. CX Codex +1 378установок cli-anything-macrocli Скилл превращает GUI-рабочие процессы в параметризованные CLI-команды. Агент вызывает макрос через macro run, система автоматически маршрутизирует выполнение в нужный бэкенд — API, трансформацию файлов или UI-автоматизацию. CX Codex +1 373установок cli-anything-firefly-iii Скилл связывает агента с сервером Firefly III через консольный интерфейс. Помогает контролировать счета и транзакции без постоянных фоновых процессов. CX Codex +1 347установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой