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

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как запустить несколько debug-портов для dbgs в диапазоне 9550-9554?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #33984
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        —daemon
        -p 9550
        -a 0.0.0.0
        -r 9551:9554
        -n /tmp/dbgs_addr.txt
        zm-ad@1c-app-t1:~$ ps aux | grep dbgs | grep usr1cv8
        usr1cv8 62761 21.9 0.3 1071772 817544 ? Sl 13:45 31:17 /opt/1cv8/x86_64/8.3.27.1719/dbgs —port=2550
        usr1cv8 658924 21.5 1.8 5404792 4955228 ? Sl окт13 4701:35 /opt/1cv8/x86_64/8.3.27.1719/dbgs —port=1550
        usr1cv8 786873 11.4 0.8 2463520 2136416 ? Sl окт13 2504:02 /opt/1cv8/x86_64/8.3.27.1719/dbgs —port=3550
        usr1cv8 1496424 0.3 0.0 275804 92736 ? Sl 16:07 0:00 /opt/1cv8/x86_64/8.3.25.1560/dbgs —port=9550
        usr1cv8 1507017 3.9 0.0 275804 80884 ? Ssl 16:08 0:00 /opt/1cv8/x86_64/8.3.25.1560/dbgs —daemon -p 9550 -a 0.0.0.0 -r 9551:9554 -n /tmp/dbgs_addr.txt
        usr1cv8 1695999 56.0 3.1 8814292 8347828 ? Sl окт25 2616:44 /opt/1cv8/x86_64/8.3.27.1719/dbgs —port=4550
        usr1cv8 2026808 48.7 3.3 9570796 8972836 ? Sl окт11 11721:21 /opt/1cv8/x86_64/8.3.27.1719/dbgs —port=5550
        zmaznov-ad@1cerp-app-t1:~$ sudo ss -tulnp | grep -E ‘:955[0-4]’
        tcp LISTEN 0 128 0.0.0.0:9550 0.0.0.0:* users:((«dbgs»,pid=1496424,fd=23)) не удалось запустить несколько дебаг портов на портах 9ххх

      • #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 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С