Установка¶
Поставить нужно две вещи: сам Bugsaur и хотя бы один отладочный адаптер для вашего языка. Обычный способ установки — готовый архив; сборка из исходников остаётся для разработки.
Установить релиз¶
Откройте GitHub Releases и скачайте архив для своей машины:
| Платформа | Имя архива |
|---|---|
| Linux x86-64 | bugsaur-v0.1.0-Linux-X64.tar.gz |
| macOS на Intel | bugsaur-v0.1.0-macOS-X64.tar.gz |
| macOS на Apple Silicon | bugsaur-v0.1.0-macOS-ARM64.tar.gz |
В каждом архиве лежат bugsaur, встроенный php-dbgp-adapter и необязательный
Neovim frontend в каталоге lua/. Распакуйте архив и выведите бинарники в
PATH:
tar -xzf bugsaur-v0.1.0-macOS-ARM64.tar.gz
cd bugsaur-v0.1.0-macOS-ARM64
mkdir -p "$HOME/.local/bin"
install -m 755 bugsaur "$HOME/.local/bin/bugsaur"
install -m 755 php-dbgp-adapter "$HOME/.local/bin/php-dbgp-adapter"
Используйте имена файлов скачанного релиза; v0.1.0 выше — только пример.
Собрать из исходников¶
Бинарник появляется в target/debug/bugsaur. Скопируйте или слинкуйте его в
каталог из PATH, чтобы вызывать просто как bugsaur.
Собирать через make, а не голым cargo
Makefile получает каталог тулчейна из rust-toolchain.toml и ставит его
первым в PATH. Иначе случайный cargo постарее — например, из Homebrew —
молча изменит результат сборки.
Проверить, что бинарник работает:
Без аргументов он печатает справку по использованию и завершается с кодом 2. Этот вывод и есть подтверждение, что бинарник на месте.
Поставить адаптер¶
Адаптеры ищутся через PATH, поэтому отладчик обязан их видеть.
Поставьте CodeLLDB и убедитесь, что
бинарник codelldb доступен через PATH:
Если он пришёл из Mason:
Поставьте Delve:
debugpy — это модуль Python, поэтому он ставится в тот интерпретатор,
который выполняет ваш код, то есть обычно в venv проекта, а не в системный
питон:
Для PHP внешний адаптер не нужен. В релизном архиве php-dbgp-adapter
лежит рядом с bugsaur; make build создаёт ту же пару в target/debug.
Выведите их каталог в PATH, чтобы каталог адаптеров его нашёл:
export PATH="$PWD:$PATH" # распакованный релизный архив
export PATH="$PWD/target/debug:$PATH" # сборка из исходников
Со стороны PHP понадобится настроенный Xdebug — см. Языки → PHP.
Поставить плагин Neovim¶
По желанию. Bugsaur работает и без него; плагин добавляет сверху навигацию по исходникам и работу с точками останова.
Lua-фронтенд лежит в lua/bugsaur/init.lua и подключается к бэкенду по
Unix-сокету. Релизный архив содержит полный каталог lua/, поэтому его
распакованный каталог можно напрямую передать lazy.nvim:
{
dir = "/absolute/path/to/bugsaur-v0.1.0-macOS-ARM64",
name = "bugsaur",
config = function()
require("bugsaur").setup({
binary = "/absolute/path/to/bugsaur-v0.1.0-macOS-ARM64/bugsaur",
gui = true,
})
end,
}
Для checkout исходников оставьте dir направленным на репозиторий, а в
binary укажите target/debug/bugsaur.
setup() несёт только настройки редактора и окна. Адаптеры, программы и
launch-аргументы живут в конфиге проекта, а не здесь. Полный справочник:
Neovim → Установка.
Проверить установку¶
| Что проверяем | Команда | Ожидаемо |
|---|---|---|
| Отладчик | bugsaur |
текст справки, код возврата 2 |
| Rust / C / C++ | command -v codelldb |
путь |
| Go | command -v dlv |
путь |
| Python | python3 -m debugpy --version |
версия |
| PHP | command -v php-dbgp-adapter |
путь |
| Neovim | есть команда :DebugStart |
команда дополняется в Neovim |
Если command -v не напечатал ничего, адаптер не виден через PATH — это самая
частая причина, по которой сессия не стартует. См.
Диагностика → Адаптер не запускается.
Дальше¶
Быстрый старт — описать проект и открыть окно.