Введение¶
Bugsaur — графический отладчик, который работает сам по себе. Он общается с отладочными адаптерами по Debug Adapter Protocol, поэтому не привязан к одному языку и не нуждается в редакторе.
Идея одной строкой¶
Отладкой владеет отладчик. Редактор остаётся source frontend.
Обычно сессией владеет редактор: он запускает адаптер, держит состояние и рисует интерфейс. Закрыли редактор — сессия умерла вместе с ним. Bugsaur переворачивает эту схему. Bugsaur — единственный DAP-клиент и хозяин состояния сессии. Neovim, если вы им пользуетесь, правит код, ходит по исходникам и заведует точками останова — и больше ничего.
| Neovim — source frontend | Ядро Bugsaur | Окно Bugsaur |
|---|---|---|
| Правка кода | DAP-сессия | Переменные, watches |
| Навигация по исходникам | Управление исполнением | Потоки, стек вызовов |
| Работа с точками останова | Состояние выполнения | Evaluate, логи |
У такого разделения есть практические следствия:
- Отладчик запускается и работает вообще без редактора —
bugsaur guiиз терминала это полноценный способ работы. - Точки останова переживают редактор. Они лежат в
.bugsaur/breakpoints.json, и перезапуск Neovim их не теряет. - Настройка одна на двоих.
.bugsaur/config.tomlчитает отладчик, поэтомуbugsaurиз терминала и:DebugStartиз Neovim видят ровно одно и то же.
Что понадобится¶
| Платформа | macOS или Linux |
| Rust | закреплённый в rust-toolchain.toml тулчейн (1.92) для сборки из исходников |
| Адаптер | хотя бы один: codelldb, dlv, debugpy или встроенный php |
| Neovim | по желанию — только для source frontend |
Куда дальше¶
- Установка — установить Bugsaur и вывести адаптер в
PATH. - Быстрый старт — кратчайший путь от проекта до окна.
- Первая сессия отладки — полный разбор до остановки на точке останова.
Если интересно устройство, а не применение — IPC, жизненный цикл сессии, владение адаптером — это лежит в Разработка → Архитектура, намеренно в стороне от первых шагов.