Почему не работает отладчик 1С на сервере и как восстановить серверную отладку?

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

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

1. Проверка сетевого экрана (брандмауэра) и диапазонов портов

При использовании классического протокола отладки TCP/IP сервер 1С инициирует обратное сетевое подключение к клиентскому компьютеру разработчика. Если сетевые порты заблокированы на стороне сервера или клиента, серверный контекст не может связаться с сеансом конфигуратора.

Проанализируем необходимые настройки портов:

  1. На стороне сервера 1С: убедимся, что открыт диапазон рабочих портов кластера 1560-1591 (по умолчанию для основного кластера). Добавим в брандмауэр Windows правило для входящих подключений по протоколу TCP для указанного диапазона портов.
  2. На стороне ПК разработчика: конфигуратор открывает динамический порт операционной системы для приема сигналов от сервера. Создадим разрешающее правило в локальном брандмауэре для входящих подключений конкретно для исполняемого файла 1cv8.exe.
  3. Фиксация портов отладчика: если в сети действуют строгие политики безопасности, ограничим диапазон портов отладки. Перейдем в меню Сервис -> Параметры -> Отладка -> Порты отладчика, укажем фиксированный диапазон (например, 4000-4010) и откроем эти порты в брандмауэре.

2. Анализ сетевых адаптеров, VPN и виртуальных сетей

Распространенная причина потери серверных точек останова на конкретном ПК — наличие нескольких сетевых интерфейсов. Программы виртуализации (VirtualBox, VMware, Hyper-V, Docker) и VPN-клиенты создают виртуальные сетевые карты со своими IP-адресами.

Выясним причину сбоя: при попытке обратного подключения сервер 1С запрашивает у операционной системы IP-адрес рабочей станции разработчика и может получить недоступный виртуальный адрес (например, из подсети 192.168.56.x).

Для решения проблемы выполним следующие действия:

  1. Временно отключим неиспользуемые виртуальные и VPN-адаптеры в окне «Сетевые подключения».
  2. Понизим метрику основного рабочего сетевого адаптера в свойствах протокола IPv4 -> Дополнительно -> Основной шлюз, чтобы рабочий физический интерфейс имел наивысший приоритет маршрутизации.
  3. Проверим сопоставление имени ПК и IP-адреса: на сервере 1С выполним команду ping Имя_Компьютера_Разработчика и убедимся, что полученный IP-адрес совпадает с реальным рабочим адресом машины. При необходимости выполним очистку кэша DNS командой ipconfig /flushdns.

3. Настройки автоматического подключения отладки в Конфигураторе

Проверим параметры подключения предметов отладки непосредственно в среде разработки. Откроем главное меню Отладка -> Подключение -> Автоматическое подключение.

Убедимся, что включены флаги для всех необходимых типов контекста:

  1. Клиентские и внешние соединения — для отладки управляемого и обычного клиента;
  2. Сессии на сервере — обязательный флаг для перехвата серверных вызовов;
  3. Фоновые задания — необходим, если отлаживаемый код выполняется в рамках длительных операций или регламентных процедур.

Также важно проверить список баз: имя базы данных и имя сервера в окне запуска должны в точности, включая регистр букв, совпадать с зарегистрированными параметрами в кластере серверов 1С.

4. Очистка локального кэша и завершение зависших процессов

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

  1. Завершим все запущенные процессы 1cv8.exe, 1cv8c.exe и 1cv8s.exe через Диспетчер задач. Зависшие скрытые сеансы могут удерживать сетевые порты отладчика.
  2. Очистим содержимое каталогов с временными GUID-папками в профиле пользователя:

    %LOCALAPPDATA%\1C\1cv8

    %APPDATA%\1C\1cv8

  3. Удалим информационную базу из списка запуска и добавим ее заново, чтобы пересоздать локальные идентификаторы сеанса.

5. Переход на протокол HTTP и выделенный сервер отладки (dbgs)

Если сетевая инфраструктура содержит NAT-маршрутизаторы, межсетевые экраны или сложные доменные политики, протокол TCP/IP может работать нестабильно. В платформе 1С:Предприятие 8.3 реализован протокол отладки по HTTP, где все подключения идут исключительно как исходящие к единой точке — серверу отладки dbgs.

Разберем порядок настройки HTTP-отладки:

  1. На сервере 1С запустим утилиту отладки из каталога bin установленной платформы:

    dbgs.exe -http -addr 0.0.0.0 -port 1550

  2. В Конфигураторе на рабочей станции перейдем в меню Сервис -> Параметры -> Отладка.
  3. Переключим переключатель Протокол отладки в положение HTTP.
  4. В поле Адрес сервера отладки укажем строку вида: http://Имя_Сервера_1С:1550.
  5. Перезапустим сеанс Конфигуратора и проверим остановку на серверных процедурах.

Использование протокола HTTP полностью исключает проблемы, связанные с блокировкой входящих подключений на клиентских ПК и некорректной маршрутизацией через виртуальные адаптеры.

← На главную