Как восстановить работу отладки на сервере 1С после обновления платформы до версии 8.3.15 и выше?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Многие технические специалисты сталкиваются с ситуацией, когда после планового обновления платформы 1С:Предприятие до версии 8.3.15 (например, 8.3.15.1700) привычная отладка на сервере перестает функционировать. При этом все стандартные действия — установка ключа -debug в параметрах запуска службы — выполнены, но точки останова в серверных процедурах игнорируются, хотя клиентская часть отлаживается без проблем. Разберем детально, почему это происходит и как настроить систему для корректной работы.

Выясним причину проблемы: переход с TCP на HTTP

Начиная с версии платформы 8.3.15, компания «1С» изменила архитектуру механизмов отладки. Если раньше по умолчанию использовался протокол TCP/IP, то в новых версиях приоритетным стал протокол HTTP. Старый механизм TCP часто работал нестабильно в сложных сетевых инфраструктурах, через NAT или VPN, так как требовал открытия широкого диапазона динамических портов. Переход на HTTP призван решить эти проблемы, однако он требует явного переопределения параметров запуска сервера и настроек клиентского приложения.

Проанализируем ситуацию: если в окне «Подключение» (меню Отладка -> Подключение) вы видите только одну строку (клиентский сеанс) и серверная часть не появляется даже при наличии флага -debug, значит, сервер отладки не может инициализироваться по старому протоколу или блокируется сетевыми правилами. Рассмотрим пошагово, как перевести отладку на рельсы HTTP.

Шаг 1. Настройка сервера 1С на Linux

Для серверов под управлением Linux недостаточно просто добавить ключ -debug. Нам необходимо явно указать использование HTTP-протокола. В зависимости от используемого дистрибутива и способа инициализации системы, настройки могут находиться в разных файлах.

Если ваша система использует классический init.d, откроем файл конфигурации службы /etc/init.d/srv1cv83. Найдем строку, отвечающую за параметры запуска (обычно это переменная SRV1CV8_DEBUG или параметры в блоке запуска ragent), и приведем её к следующему виду:


# Пример добавления ключей в конфигурационный файл
SRV1CV8_DEBUG=-debug -http

Однако в современных дистрибутивах (Ubuntu 18.04+, CentOS 7+, Debian 9+) управление службами чаще всего происходит через systemd. В этом случае нам нужно отредактировать unit-файл сервиса. Обычно он расположен по пути /lib/systemd/system/srv1cv83.service. Найдем секцию [Service] и строку ExecStart. Добавим необходимые ключи:


[Service]
ExecStart=/opt/1cv8/x86_64/8.3.15.1700/ragent -daemon -debug -http

После изменения файла systemd обязательно выполним перечитку конфигурации и перезапуск службы, чтобы изменения вступили в силу:


systemctl daemon-reload
systemctl restart srv1cv83

Шаг 2. Настройка конфигуратора на стороне клиента

Даже если сервер готов отдавать отладочную информацию по HTTP, Конфигуратор по привычке может пытаться искать сервер отладки по протоколу TCP. Перенастроим клиентское место. Пройдем по шагам:

  1. Откроем Конфигуратор под нужной информационной базой.
  2. Перейдем в меню Сервис — Параметры.
  3. Выберем закладку Отладка.
  4. В поле «Протокол отладки» установим переключатель в положение Использовать протокол HTTP.
  5. В поле «Адрес сервера отладки» укажем имя или IP-адрес нашего Linux-сервера. Если работа идет через нестандартный порт, его также можно указать (например, 192.168.1.50:1560).
  6. Нажмем «Применить» и перезапустим Конфигуратор для надежности.

Теперь проверим список подключенных предметов отладки. В меню Отладка — Подключение в верхней части списка должен появиться тип «Сервер» с указанием вашего протокола http://....

Шаг 3. Настройка портов и брандмауэра (Firewall)

Важно помнить, что при использовании HTTP-отладки используются другие порты. По умолчанию для сервера отладки (процесс dbgs) резервируется диапазон портов 1560–1591. Если на вашем Linux-сервере включен iptables или firewalld, необходимо разрешить входящие соединения по этим портам.

Посмотрим на пример команды для firewalld (CentOS/RHEL):


firewall-cmd --permanent --add-port=1560-1591/tcp
firewall-cmd --reload

И для iptables (Ubuntu/Debian):

iptables -A INPUT -p tcp --dport 1560:1591 -j ACCEPT

Важный момент: если клиент (Конфигуратор) и сервер находятся в разных сетях, убедитесь, что маршрутизаторы не блокируют этот трафик. В отличие от TCP, HTTP-отладка более лояльна к сетевым задержкам, но требует четко открытого порта сервера отладки.

Дополнительные рекомендации и устранение типовых ошибок

Если после выполнения всех настроек отладка все еще не работает, проанализируем следующие факторы:

Разберем еще один «секретный метод», который иногда выручает при переходе между мажорными версиями платформы: вместо обновления пакетов поверх старых (dpkg -i или rpm -Uvh), полностью удалите старую версию платформы и установите новую «с нуля». Это гарантирует, что конфигурационные скрипты инициализации обновятся корректно и не будут содержать устаревших параметров, мешающих работе ключа -http.

Следуя этой инструкции, мы переведем процесс отладки на современный стек протоколов, что обеспечит стабильную работу разработчика в новых версиях платформы 1С:Предприятие 8.3.15 и выше.

← На главную