Свои адаптеры¶
Отлаживать можно всё, у чего есть DAP-адаптер. Добавить его — значит написать запись каталога; менять отладчик не нужно.
Добавить адаптер¶
Создайте ~/.config/bugsaur/adapters.toml:
Затем используйте id в профиле:
Ваши записи накладываются поверх встроенного каталога по id: новый id добавляет адаптер, существующий заменяет встроенную запись.
Чтобы держать каталог внутри проекта, укажите его явно:
--adapters заменяет поиск по двум конфигурационным путям; встроенный каталог
по-прежнему служит основой.
Выбор транспорта¶
stdio — Bugsaur запускает адаптер и общается через его stdin и stdout:
tcp — адаптер слушает, Bugsaur подключается. Bugsaur выбирает свободный порт
и подставляет его в tcp_argument:
Доступные там подстановки — {host} и {port}.
Умолчания для тела запроса¶
launch_arguments в записи каталога задаёт умолчания для всех профилей с этим
адаптером, а профиль может их перебить:
Сборка перед запуском¶
Если программы для этого адаптера нужно компилировать, опишите это:
{out} — бинарник, который ожидает получить Bugsaur, {program} — то, что
названо в program профиля. Результат кладётся в <корень>/.bugsaur/build/.
Без build Bugsaur ничего не собирает — адаптер получает program как есть.
Медленно стартующие адаптеры¶
Когда задержка свойственна адаптеру, а не проекту, таймауту место в каталоге:
Приоритет: профиль → каталог → 120 секунд.
Запуск вообще без профиля¶
Для разового случая конфиг проекта можно не заводить:
bugsaur gui \
--adapter codelldb \
--program /absolute/path/to/program \
--cwd /absolute/path/to/dir \
--launch-arguments '{"stopOnEntry": true}'
| Флаг | Что делает |
|---|---|
--adapter <id> |
какую запись каталога использовать |
--program <путь> |
что отлаживать |
--cwd <путь> |
рабочий каталог; здесь по умолчанию текущий, потому что корня проекта нет |
--launch-arguments <json> |
тело DAP-запроса в виде JSON |
--adapters <путь> |
какой каталог читать |
В этом режиме конфиг проекта не читается, а значит нет и секции [ui] — тема и
раскладка берутся из командной строки или из умолчаний.
Если новый адаптер не работает¶
Включите категорию DAP в панели Logs и прочитайте обмен.
Поскольку Bugsaur не интерпретирует специфичные для адаптера поля, отклонённый
launch почти всегда означает, что адаптер возражает против полученного тела —
текст ошибки приходит от него самого и обычно называет проблемный ключ.