Как включить режим отладки на сервере 1С после обновления платформы?

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

Обновление платформы «1С:Предприятие» — стандартная процедура для системного администратора и разработчика. Однако часто после установки нового релиза пользователи сталкиваются с неприятной проблемой: привычный режим отладки (debug) на сервере перестает работать. Точки останова в серверных модулях конфигурации просто игнорируются, а в списке подключенных предметов отладки серверные сеансы не отображаются.

В этой статье мы подробно разберем, почему возникает эта проблема, проанализируем различные варианты конфигурации строки запуска службы, а также рассмотрим сопутствующие сетевые нюансы и настройки брандмауэра, которые мешают стабильной работе отладчика.

Выясняем причину: почему отладка ломается при обновлении платформы?

Основная причина, по которой после обновления платформы «ломается» режим отладки, заключается в изменении путей к исполняемым файлам сервера 1С. При установке нового релиза создается новая директория (например, вместо 8.3.13.1513 файлы теперь запускаются из 8.3.13.1690). Служба сервера 1С перерегистрируется в операционной системе, и настройки реестра Windows, отвечающие за параметры запуска, сбрасываются к значениям по умолчанию. Параметр -debug, который ранее был прописан вручную, просто исчезает из строки запуска новой службы.

Кроме того, операционная система и брандмауэр Windows (файрвол) воспринимают исполняемые файлы из новой папки как абсолютно новые приложения, что приводит к блокировке сетевых портов, необходимых для обмена данными между конфигуратором и рабочими процессами.

Шаг 1. Правильная настройка реестра Windows для включения отладки

Для того чтобы сервер 1С:Предприятие запускался в режиме отладки, необходимо добавить соответствующий ключ в параметры запуска службы 1C:Enterprise 8.3 Server Agent. Разберем этот процесс по шагам.

  1. Откроем редактор реестра Windows. Для этого нажмем комбинацию клавиш Win + R, введем команду regedit и нажмем Enter.
  2. Перейдем по следующему пути:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)

    Примечание: Если вы используете 32-разрядную версию сервера, имя ветки службы может отличаться отсутствием приставки «x86-64».
  3. Найдем параметр с именем ImagePath. Этот параметр содержит строку запуска службы агента сервера.
  4. Дважды кликнем по параметру ImagePath для его редактирования. Нам необходимо дописать ключ отладки.

Рассмотрим подробнее правильный синтаксис строки запуска. Существует два протокола отладки: классический TCP/IP и более современный HTTP. Выбор протокола зависит от вашей сетевой инфраструктуры.

Вариант А. Настройка отладки по протоколу TCP/IP (классический вариант)

Этот вариант используется по умолчанию. Ключ -debug можно добавить в конец строки. Важно следить за кавычками: путь к исполняемому файлу должен быть в кавычках, а параметры запуска службы — за их пределами.

Пример правильной строки запуска для протокола TCP/IP:


"C:\Program Files\1cv8\8.3.13.1690\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug

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

Вариант Б. Настройка отладки по протоколу HTTP

Начиная с версии платформы 8.3.7, 1С поддерживает отладку по протоколу HTTP. Она работает стабильнее в сложных сетях (например, при подключении разработчиков через VPN). Для ее включения используется комбинация ключей -debug -http.

Пример правильной строки запуска для протокола HTTP:


"C:\Program Files\1cv8\8.3.13.1690\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug -http

Если вам требуется зафиксировать конкретный порт для сервера отладки (чтобы не открывать динамический диапазон в брандмауэре), используйте дополнительный параметр -debugServerPort. По умолчанию для HTTP-отладки используется порт 1550, но его можно переопределить:


"C:\Program Files\1cv8\8.3.13.1690\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug -http -debugServerPort 1542

После внесения изменений в реестр обязательно перезапустите службу 1C:Enterprise 8.3 Server Agent через оснастку «Службы» (services.msc) операционной системы.

Шаг 2. Проверка фактического применения параметров

Иногда служба успешно перезапускается, но режим отладки все равно не активен. Разберем, как проверить, применились ли параметры реестра операционной системой.

Откроем Диспетчер задач на сервере, перейдем на вкладку «Подробности» (Details), найдем процесс ragent.exe. Добавим колонку «Командная строка» (Command Line). Мы должны увидеть полную строку запуска процесса вместе с ключом -debug. Если ключа там нет, значит, служба была запущена по старому пути или изменения в реестре были внесены не в ту ветку (например, если на сервере установлено несколько разных версий 1С).

Шаг 3. Настройка Брандмауэра (файрвола) после обновления путей

Проанализируем ситуацию, когда в диспетчере задач ключ присутствует, но отладка на рабочих местах разработчиков все равно не работает. Это явный признак блокировки трафика сетевым экраном.

Когда вы обновляете платформу, исполняемые файлы ragent.exe, rmngr.exe и rphost.exe начинают запускаться из новой папки. Если правила вашего брандмауэра были настроены по принципу «Разрешить программе доступ в сеть» с указанием конкретного пути, они перестанут действовать для новой версии платформы.

Рекомендуется настроить правила брандмауэра по номерам портов, а не по путям к файлам. Для успешной работы отладки на сервере должны быть открыты следующие порты:

Если используется классическая отладка по TCP/IP, рабочие процессы сервера 1С инициируют обратное соединение к компьютеру разработчика на динамические порты. В условиях сложной сетевой структуры (маршрутизаторы, NAT, VPN) это соединение почти всегда блокируется. Именно поэтому для удаленной работы настоятельно рекомендуется использовать связку -debug -http, так как в этом случае все сетевые запросы идут в одну сторону — от конфигуратора разработчика к серверу 1С.

Шаг 4. Влияние параметров перезапуска рабочих процессов

Разберем одну неочевидную техническую проблему, с которой сталкиваются администраторы крупных баз данных 1С. В консоли администрирования серверов 1С для локального кластера можно настроить интервал перезапуска рабочих процессов (параметр Интервал перезапуска рабочих процессов).

Если этот параметр отличен от нуля (например, настроен агрессивный перезапуск процессов раз в несколько минут для борьбы с утечками памяти), отладка будет постоянно сбоить или отключаться. При завершении процесса rphost.exe, на котором находился сеанс разработчика, отладочная сессия аварийно закрывается. Для стабильной работы отладки на тестовом сервере этот интервал должен быть равен 0 (перезапуск отключен).

Шаг 5. Проверка настроек на стороне клиента

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

  1. В конфигураторе перейдем в меню Отладка — Подключение....
  2. В открывшемся окне проверим список доступных предметов отладки. Если серверные сеансы там видны, но не подключаются автоматически, нажмем кнопку Настройка автоматического подключения и установим флажки для типов приложений (например, «Клиентские и серверные сеансы в веб-клиенте», «Тонкий клиент» и т.д.).
  3. В самом режиме «1С:Предприятие» (если клиент запускается отдельно) откроем параметры системы и проверим, включена ли опция «Отладка в текущем сеансе разрешена».

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

← На главную