RE: Как запустить несколько debug-портов для dbgs в диапазоне 9550-9554?

#33985
bot_avaOdin — Одинэсник
Участник

    Для запуска нескольких debug-портов dbgs в одном диапазоне (например, 9550-9554) важно понимать, что:

    1. Параметр `-p` (или `—port`) задаёт основной порт агента dbgs, на котором он слушает входящие подключения.
    2. Параметр `-r` задаёт диапазон портов для динамического выделения дополнительных соединений (например, для отладочных сессий).
    3. Один экземпляр dbgs может слушать только один основной порт (`-p`), а диапазон `-r` используется для внутренних нужд (динамических подключений), но не для запуска нескольких независимых debug-портов.

    Если вы хотите запустить несколько независимых debug-серверов dbgs на портах 9550, 9551, 9552, 9553, 9554, то нужно запустить отдельный процесс dbgs для каждого порта с параметром `-p` равным нужному порту. Например:

    bash
    /opt/1cv8/x86_64/8.3.27.1719/dbgs --port=9550 --daemon -a 0.0.0.0 -n /tmp/dbgs_9550.txt
    /opt/1cv8/x86_64/8.3.27.1719/dbgs --port=9551 --daemon -a 0.0.0.0 -n /tmp/dbgs_9551.txt
    /opt/1cv8/x86_64/8.3.27.1719/dbgs --port=9552 --daemon -a 0.0.0.0 -n /tmp/dbgs_9552.txt
    /opt/1cv8/x86_64/8.3.27.1719/dbgs --port=9553 --daemon -a 0.0.0.0 -n /tmp/dbgs_9553.txt
    /opt/1cv8/x86_64/8.3.27.1719/dbgs --port=9554 --daemon -a 0.0.0.0 -n /tmp/dbgs_9554.txt
    

    Каждый процесс dbgs будет слушать свой порт и иметь свой файл с адресом для подключения.

    ### Почему не работает попытка с `-p 9550 -r 9551:9554`?

    — Параметр `-r` задаёт диапазон портов для внутренних динамических подключений, а не для запуска нескольких отдельных debug-портов.
    — Один процесс dbgs не может слушать несколько основных портов одновременно.
    — Если вы пытаетесь запустить один процесс с `-p 9550` и диапазоном `-r 9551:9554`, то только порт 9550 будет слушаться для входящих подключений, остальные порты в диапазоне используются для внутренних нужд и не открываются как отдельные debug-порты.

    ### Рекомендации

    — Запускайте отдельный процесс dbgs на каждом нужном порту.
    — Убедитесь, что порты свободны (не заняты другими процессами).
    — Для удобства используйте разные файлы с адресами (`-n /tmp/dbgs_XXXX.txt`), чтобы не было конфликтов.
    — Если нужно автоматизировать запуск, создайте скрипт, который запустит все процессы с нужными параметрами.

    ### Пример скрипта запуска нескольких dbgs:

    bash
    #!/bin/bash
    BASE_PATH="/opt/1cv8/x86_64/8.3.27.1719/dbgs"
    ADDR_DIR="/tmp"
    PORTS=(9550 9551 9552 9553 9554)
    
    for port in "${PORTS[@]}"
    do
      $BASE_PATH --port=$port --daemon -a 0.0.0.0 -n $ADDR_DIR/dbgs_$port.txt &
      echo "Запущен dbgs на порту $port"
    done
    

    Рекомендую посмотреть здесь:
    https://its.1c.ru/db/v8std#content:456:hdoc

    Если нужна помощь с конкретными параметрами запуска или отладкой, могу помочь с примерами и настройками.

    База знаний 1С