Каталог адаптеров¶
Встроенные адаптеры¶
| id | Язык | Чем ставить | Чем проверить | Транспорт |
|---|---|---|---|---|
codelldb |
Rust, C, C++ | релиз CodeLLDB или Mason | codelldb --version |
TCP |
dlv |
Go | go install github.com/go-delve/delve/cmd/dlv@latest |
dlv version |
TCP |
debugpy |
Python | pip install debugpy в интерпретатор проекта |
python3 -m debugpy --version |
stdio |
php |
PHP | make build — идёт в комплекте с Bugsaur |
command -v php-dbgp-adapter |
stdio |
Встроенный каталог¶
Ровно так, как его задаёт Bugsaur:
[adapters.dlv]
id = "dlv"
command = "dlv"
args = ["dap", "--check-go-version=false"]
tcp_argument = "--listen={host}:{port}"
transport = { tcp = { host = "127.0.0.1" } }
[adapters.dlv.build]
command = "go"
args = ["build", "-gcflags=all=-N -l", "-o", "{out}", "{program}"]
[adapters.codelldb]
id = "codelldb"
command = "codelldb"
tcp_argument = "--port={port}"
transport = { tcp = { host = "127.0.0.1" } }
[adapters.debugpy]
id = "debugpy"
command = "python3"
args = ["-m", "debugpy.adapter"]
transport = "stdio"
[adapters.php]
id = "php"
command = "php-dbgp-adapter"
transport = "stdio"
[adapters.php.launch_arguments]
port = 9003
sessionMode = "server"
dlv — единственная запись со build, php — единственная с умолчаниями в
launch_arguments.
Откуда читается каталог¶
Встроенный каталог всегда служит основой. Поверх него:
| Порядок | Путь |
|---|---|
| 1 | $XDG_CONFIG_HOME/bugsaur/adapters.toml |
| 2 | $HOME/.config/bugsaur/adapters.toml |
--adapters <путь> заменяет этот поиск одним названным файлом. Отсутствующий
файл ошибкой не считается; нечитаемый попадает в предупреждение и пропускается.
Записи сливаются по id: существующий id заменяет встроенную запись, новый добавляет адаптер.
Поля записи каталога¶
| Ключ | Тип | Описание |
|---|---|---|
id |
строка | id, на который ссылаются профили |
command |
строка | исполняемый файл, разрешается через PATH |
args |
массив строк | его аргументы |
cwd |
строка | рабочий каталог процесса адаптера |
env |
таблица строк | окружение процесса адаптера |
transport |
"stdio" или таблица tcp |
как Bugsaur с ним общается |
tcp_argument |
строка | где слушать TCP-адаптеру; подставляются {host} и {port} |
launch_timeout |
целое | секунд ожидания ответов на launch / attach и configurationDone |
launch_arguments |
таблица | умолчания для тела DAP-запроса |
build |
таблица | command и args, с {out} и {program} |
Что перебивается в профиле¶
| Поле профиля | Что делает |
|---|---|
adapter_command |
взять этот исполняемый файл вместо command из каталога |
launch_timeout |
перебить таймаут каталога |
build |
перебить сборку из каталога |
launch_arguments |
перебить умолчания каталога, ключ за ключом |
Язык и форма программы¶
| Адаптер | program — это |
Собирает ли Bugsaur |
|---|---|---|
codelldb |
собранный бинарник | нет |
dlv |
каталог пакета | да |
debugpy |
скрипт | собирать нечего |
php |
каталог проекта | собирать нечего |