Skip to content

feat: команда для запуска сервера отладки 1С (dbgs) #689

@johnnyshut

Description

@johnnyshut

Описание

При отладке 1С по протоколу HTTP (/DEBUG -http -attach, /DEBUGGERURL) требуется предварительно запущенный сервер отладки dbgs (dbgs.exe на Windows, dbgs на Linux). Сейчас vrunner не предоставляет способа его запуска.

Любые инструменты, которые хотят организовать отладку 1С (IDE, расширения, скрипты CI/CD), вынуждены самостоятельно:

  1. Определять путь к платформе 1С
  2. Искать исполняемый файл dbgs в каталоге платформы ({platformRoot}/{version}/bin/dbgs.exe)
  3. Запускать процесс с параметрами --addr, --portRange, --ownerPID, --notify
  4. Парсить notify-файл для получения выбранного порта

При этом vrunner уже умеет находить платформу по env.json (--v8version). Было бы логично использовать эту же инфраструктуру для dbgs.

Предлагаемое решение

Добавить команду vrunner dbgs (или vrunner debug-server), которая:

  1. Использует существующую логику vrunner для определения пути к платформе (env.json: --v8version)
  2. Запускает dbgs с параметрами:
    • --addr — хост (по умолчанию localhost, из env --debug-server если есть)
    • --portRange — диапазон портов (из env --debug-port-range, например 1550:1559)
    • --ownerPID — PID процесса-владельца (опционально)
    • --notify — путь к файлу, куда dbgs запишет выбранный порт
  3. Опционально: выводит в stdout URL или порт для подключения отладчика

Пример использования

# Запуск dbgs с параметрами из env.json
vrunner dbgs

# С явными параметрами
vrunner dbgs --addr localhost --port-range 1550:1559 --notify /tmp/dbgs-notify.txt

Параметры env.json

Использовать существующие или добавить:

  • --debug-server — хост для dbgs (по умолчанию localhost)
  • --debug-port-range — диапазон портов (например 1550:1559)
  • --v8version — версия платформы (уже есть)

Выгода

  • Единая точка конфигурации — путь к платформе и параметры отладки в env.json, как и для vrunner run
  • Меньше дублирования — инструменты (IDE, CI, скрипты) смогут делегировать запуск dbgs vrunner вместо реализации собственной логики поиска платформы
  • Консистентность — vrunner становится единым инструментом для запуска и 1С, и сервера отладки
  • CI/CD — удобно запускать dbgs через vrunner в сценариях автоматизированного тестирования с отладкой
  • Локальная разработка — один вызов vrunner dbgs вместо ручного поиска dbgs в каталоге платформы

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions