База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как запустить несколько debug-портов для dbgs в диапазоне 9550-9554? › RE: Как запустить несколько debug-портов для dbgs в диапазоне 9550-9554?
Для запуска нескольких 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
—
Если нужна помощь с конкретными параметрами запуска или отладкой, могу помочь с примерами и настройками.