Tilda Publishing
Привет, любопытный друг. Да, это Tilda. Потому что мы хотим быстро внедрять и управлять решением, а не ждать
в очереди разработчика. Контроль, предсказуемость и отказоустойчивость — наша главная идея.
Подберём типовое или произведем на заказ серверное оборудование, предоставим расчёт и поможем интегрировать в систему.

Заполните форму запроса слева или отправьте описание вашей задачи на почту get@work-system.ru

При отправке письма на почту укажите номер телефона вашего специалиста для обсуждения аналогов оборудования в случае необходимости

Отладка сервера 1С: как включить режим отладки

Обновлено: Февраль 2026.
Программа 1С требует точной настройки. Отладка сервера 1С — критически важный режим для поиска ошибок, когда фоновые задания или серверный код дают сбой. В этом руководстве показано, как включить режим отладки на боевых и тестовых контурах. Правильная настройка помогает не допустить ситуации, когда скрытая ошибка в серверной процедуре останавливает работу предприятия. Сервер готов к диагностике.
Для корректной установки и настройки сервера 1С убедитесь заранее, что все предварительные условия выполнены.
Дисклеймер. Информация носит общий технический и информационный характер. Перед внесением изменений в реестр, конфигурацию служб и настройки брандмауэра на продакшен-сервере рекомендуется создать резервную копию параметров реестра и согласовать работы с ответственным за инфраструктуру.
Актуализировано: январь 2026 (проверено на платформе 1С:Предприятие 8.3.24 и выше).

Содержание

1
Что такое серверная отладка 1С и когда она нужна
2
Как безопасно включить отладку на продакшен-сервере: план работ
3
Как включить отладку на сервере 1С 8.3 и 1С:Предприятие 8
4
Что именно станет доступно после включения -debug
5
Особенности отладки в клиент-серверном варианте 1С:Предприятие
6
Выбор протокола: TCP/IP (-debug) или HTTP?
7
Как проверить корректность включения режима
8
Что делать, если отладка на сервере 1С не работает
9
Как отключить режим отладки и откатить изменения
10
Часто задаваемые вопросы

Что такое серверная отладка 1С и когда она нужна

Режим -debug — это специальный режим запуска агента сервера (ragent), при котором серверные процедуры, выполняемые в процессе rphost, становятся видимы конфигуратору. Только после его включения становятся доступны точки останова в серверных модулях, перехват фоновых заданий и пошаговая трассировка кода на стороне сервера.

Когда нужна серверная отладка -debug:

  • Ошибка возникает в серверной процедуре или общем модуле с серверным контекстом.
  • Фоновое задание завершается с ошибкой, и нужно «поймать» момент сбоя.
  • Серверный вызов возвращает неожиданное значение, которое не воспроизводится на клиенте.
  • Нужно отследить цепочку серверных вызовов (стек вызовов) для сложного алгоритма.

Когда -debug не нужен и есть лучшие инструменты:

  • Анализ медленных запросов к базе данных — используйте технологический журнал (ТЖ).
  • Поиск блокировок — монитор производительности кластера или ТЖ с событием TLOCK.
  • Анализ нагрузки на сервер — монитор кластера, счётчики производительности.
  • Зависание rphost — анализ дампа памяти, ТЖ с событием EXCP.

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

Как безопасно включить отладку на продакшен-сервере: план работ

Прежде чем переходить к техническим шагам, определитесь с регламентом. Остановка службы агента сервера (ragent) прерывает все активные сеансы пользователей и фоновые задания.

Чек-лист перед включением:

  • Согласовано техническое окно (рекомендуется нерабочее время).
  • Пользователи предупреждены о кратковременном перерыве в работе.
  • Штатно завершены все активные фоновые задания (через консоль администрирования кластера).
  • Создана резервная копия ветки реестра (Windows) или unit-файла (Linux).
  • Определён план отката: как быстро вернуть настройки, если служба не стартует.
  • Известно, кто после завершения отладки выключит режим.

Что происходит с пользователями при перезапуске службы: остановка ragent разрывает все текущие подключения. Несохранённые данные могут быть потеряны. Это не «мягкое» отключение — планируйте техническое окно.

Режим отладки снижает производительность сервера из-за отключения оптимизации компиляции серверного кода и постоянного опроса отладочных портов. На высоконагруженных боевых базах включайте -debug только в технологические окна и обязательно отключайте после завершения работ. На тестовых стендах ограничений нет.

Как включить отладку на сервере 1С 8.3 и 1С:Предприятие 8

Включение отладки на стороне сервера 1С 8.3 требует изменения параметров запуска службы агента: добавления специального ключа -debug в строку запуска ragent.exe. Настройка возможна двумя способами: через редактор реестра Windows или через конфигурационные файлы Linux. После изменений служба перезапускается, и сервер начинает слушать порты для подключения конфигуратора.

Согласно документу «Клиент-серверный вариант. Руководство администратора» (its.1c.ru), параметр /debug -<режим> запускает кластер серверов в режиме отладки конфигураций:
«/debug -<режим> — запуск кластера серверов в режиме отладки. Параметр <режим> указывает протокол: -tcp (TCP/IP, по умолчанию) или -http. В связи с тем, что в режиме отладки производительность сервера падает, рекомендуется использовать отладочный режим только для тех серверов, на которых выполняется отладка.» — «Клиент-серверный вариант. Руководство администратора», its.1c.ru
Общий алгоритм выглядит так:

  1. Остановить службу агента сервера 1С.
  2. Добавить ключ -debug в параметры запуска.
  3. Запустить службу заново.
  4. Проверить активность портов командой netstat -an | find "1541".
  5. Подключить конфигуратор к серверным сеансам.

Для корректной работы необходимо заранее открыть в брандмауэре входящие TCP-порты: 1540 (агент сервера), 1541 (менеджер кластера), диапазон 1560–1591 (рабочие процессы). Без этого конфигуратор не увидит серверные сеансы.
Примечание по портам. В ряде источников вместо порта 1541 фигурирует порт 1550. Рекомендуется проверять фактические порты в параметрах запуска вашей службы (параметры -regport, -port в строке ImagePath) — они могут отличаться от стандартных, если кластер настраивался с нестандартными значениями.
Порт
Компонент
Когда нужен
1540
Агент сервера (ragent)
Всегда — основной порт агента
1541
Менеджер кластера
Всегда — управление кластером
1560–1591
Рабочие процессы (rphost)
Для перехвата серверных сеансов
Важно по безопасности: не открывайте эти порты «всему интернету». Разрешайте входящие соединения только с IP-адресов рабочих станций разработчиков, подсети разработки или через VPN. Открытый диапазон 1560–1591 в публичную сеть создаёт серьёзный риск несанкционированного доступа к серверным сеансам.
Настройка в ОС Windows (Редактор реестра)
Дисклеймер. Информация носит общий характер и не заменяет консультацию специалиста. Изменения реестра и служб на сервере выполняйте только при наличии резервной копии и согласования с ответственным за инфраструктуру.
Для активации режима в Windows необходимо изменить параметры запуска службы агента сервера через системный реестр (Regedit).

Какую ветку реестра использовать: CurrentControlSet или ControlSet001?

Это важный практический момент, который часто вызывает путаницу.

CurrentControlSet — виртуальная ссылка на текущий активный ControlSet. При запуске системы Windows выбирает активный набор (обычно ControlSet001 или ControlSet002) и создаёт символическую ссылку CurrentControlSet. Номер активного набора хранится в HKEY_LOCAL_MACHINE\SYSTEM\Select, значение Current.

Практическая рекомендация: для редактирования используйте CurrentControlSet — это всегда правильная активная ветка. Путь через ControlSet001 тоже работает, если это и есть активный набор на вашей машине, но CurrentControlSet надёжнее и не требует выяснения номера активного набора.

Рекомендуемый путь:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent\
Альтернативный путь (если имя службы отличается, например для x86-64):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)\
Примечание. Имя раздела реестра зависит от версии платформы и разрядности. Если вы не нашли раздел по указанному пути, откройте services.msc, найдите службу агента 1С, просмотрите её свойства — имя службы там совпадает с именем раздела в реестре.
Настройка и запуск агента сервера 1С для отладки

Главная служба, отвечающая за кластер — агент сервера (ragent). Чтобы запуск прошёл успешно, агент должен получить параметр -debug в строке командной строки, зафиксированной в реестре.

Параметр ImagePath (тип REG_EXPAND_SZ) содержит строку вида:
"C:\Program Files (x86)\1cv8\8.3.15.1869\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files (x86)\1cv8\srvinfo"
Необходимо добавить -debug в конец строки (перед добавлением убедитесь, что перед флагом стоит пробел). Результат:
"C:\Program Files (x86)\1cv8\8.3.15.1869\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files (x86)\1cv8\srvinfo" -debug
Примечание по синтаксису. Ключ -debug эквивалентен /debug. Оба варианта работают одинаково. В разных источниках встречаются оба написания — это не ошибка.
Порядок действий:

  1. Открыть services.msc и остановить службу 1C:Enterprise 8.3 Server Agent (или ... (x86-64)).
  2. Открыть regedit, перейти по рекомендуемому пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent.
  3. Отредактировать ImagePath: добавить -debug в конец строки (обратите внимание на пробел перед флагом).
  4. Перезапустить службу через services.msc.
  5. Убедиться, что служба запустилась без ошибок (статус «Выполняется»).

Служба запускается от имени пользователя USR1CV8. Для администрирования 1С убедитесь, что у учётной записи есть право «Вход в качестве службы» (SeServiceLogonRight) — иначе служба не стартует и выдаст ошибку доступа.

Как проверить, что служба запустилась с нужными параметрами: откройте Process Explorer или диспетчер задач, найдите ragent.exe и проверьте командную строку процесса — там должен присутствовать флаг -debug.
Настройка в ОС Linux (Ubuntu, CentOS/RHEL)
В Linux-системах управление параметрами запуска осуществляется через конфигурационные файлы демона (systemd). Подход различается в зависимости от дистрибутива.

Рекомендуемый способ: override-конфигурация через systemctl edit

Для Ubuntu 22.04/24.04 и актуального RHEL 9 рекомендованный способ — создание override-конфигурации через systemctl edit. Это позволяет добавить параметры запуска без изменения оригинального unit-файла пакета, и такие настройки не перезаписываются при обновлениях платформы 1С.
# Остановить службу
systemctl stop srv1cv8-8.3.24.1467.service

# Открыть override-редактор (создаст /etc/systemd/system/srv1cv8-8.3.24.1467.service.d/override.conf)
systemctl edit srv1cv8-8.3.24.1467.service

# В открывшемся редакторе добавить секцию с переопределением ExecStart:
# [Service]
# ExecStart=
# ExecStart=/opt/1cv8/x86_64/8.3.24.1467/ragent -daemon -regport 1541 -port 1540 -range 1560:1591 -d /var/1C/1cv8 -debug

# Перезагрузить конфигурацию и запустить службу
systemctl daemon-reload
systemctl restart srv1cv8-8.3.24.1467.service

# Проверить статус
systemctl status srv1cv8-8.3.24.1467.service
Команда systemctl status покажет состояние службы с последними строками лога journald — это позволяет сразу убедиться, что служба стартовала с нужными параметрами (-debug должен присутствовать в строке запуска).

Устаревший способ: копирование unit-файла (не рекомендуется)

На старых дистрибутивах (CentOS 7, Ubuntu 18.04) и в ряде инструкций встречается способ с копированием unit-файла в системный каталог:
# Остановить службу
systemctl stop srv1cv8-8.3.24.1467.service

# Скопировать юнит для редактирования
cp /opt/1cv8/i386/8.3.24.1467/srv1cv8-8.3.24.1467@.service \
   /lib/systemd/system/srv1cv8-8.3.24.1467.service

# Отредактировать файл: добавить -debug в строку запуска ragent
# nano /lib/systemd/system/srv1cv8-8.3.24.1467.service

# Перезагрузить конфигурацию и запустить службу
systemctl daemon-reload
systemctl restart srv1cv8-8.3.24.1467.service

# Проверить статус
systemctl status srv1cv8-8.3.24.1467.service
Предупреждение. При обновлении пакета 1С файл в /lib/systemd/system/ будет перезаписан, и настройка -debug пропадёт. Кроме того, при конфликте с обновлением пакетный менеджер может вести себя непредсказуемо. Используйте override через systemctl edit — это безопаснее и надёжнее.
На RHEL/CentOS можно также добавить переменную SRV1CV8_DEBUG=-debug в файл /etc/sysconfig/srv1cv83 — это legacy-подход для старых версий дистрибутива.

Что именно станет доступно после включения -debug

После успешного перезапуска службы с флагом -debug в конфигураторе станут доступны следующие возможности:

  • Точки останова (F9) в серверных модулях и общих модулях с серверным контекстом — красные (безусловные) и синие (условные, срабатывают при выполнении заданного условия).
  • Пошаговая отладка:
  • F10 (Шаг с обходом) — выполнить следующую строку, не заходя во вложенные процедуры.
  • F11 (Шаг с заходом) — войти во вложенную процедуру для детального анализа.
  • Просмотр значений переменных — наведением курсора на переменную в момент останова.
  • Табло — панель для постоянного мониторинга значений выбранных переменных в реальном времени.
  • Вычислить выражение — вычисление произвольного выражения в текущем контексте выполнения.
  • Стек вызовов — просмотр цепочки вызовов: из какой процедуры была вызвана текущая.
  • Остановка по ошибке — автоматическая остановка в момент исключения без предварительно установленной точки останова.
  • Перехват фоновых заданий — через меню «Отладка → Подключение → Автоматическое подключение → Фоновые задания».
  • Перехват серверных вызовов — через меню «Отладка → Подключение → Автоматическое подключение → Серверные вызовы».

Особенности отладки в клиент-серверном варианте 1С:Предприятие

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

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

Важная деталь: при включении отладки процесс rphost начинает предоставлять доступ к свойствам переменных даже при отсутствии их представления — это поведение изменилось относительно предыдущих версий платформы. Параметр LicConfigDebugTimeouts в файле conf.cfg позволяет включить сокращённые периоды проверки при взаимодействии с центром лицензирования во время отладки.

Выбор протокола: TCP/IP (-debug) или HTTP?

Платформа 1С поддерживает два протокола передачи отладочной информации. Выбор зависит от топологии сети и требований к безопасности.

TCP/IP — режим по умолчанию. Конфигуратор напрямую ищет предметы отладки на указанном компьютере через порты 1540, 1541, 1560–1591. Требует прямой сетевой доступности между машиной разработчика и сервером. Через NAT без дополнительной настройки маршрутизации не работает.

HTTP — режим с промежуточным сервером отладки. Отладчик и предметы отладки общаются через специальное приложение-координатор по HTTP. Позволяет работать через прокси и брандмауэры, где прямое TCP-соединение закрыто. Требует указания адреса и порта сервера отладки через параметры -debugServerAddr и -debugServerPort. HTTP-отладка доступна начиная с версии 8.3.7.

Для HTTP-отладки строка ImagePath выглядит так:
"C:\Program Files\1cv8\8.3.13.1513\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug -http -debugServerAddr 192.168.0.170 -debugServerPort 1550
Сравнение протоколов отладки 1С: TCP/IP против HTTP
Параметр
TCP/IP (-debug)
HTTP (сервер отладки)
Ключ запуска агента
-debug
-debug -http + параметры сервера
Порты
1540, 1541, 1560–1591
HTTP-порт сервера отладки
Работа через NAT/VPN
Не работает без маршрутизации
Работает
Работа через прокси
Не работает
Работает
Скорость
Выше (прямое соединение)
Ниже (дополнительный слой координации)
Сложность настройки
Минимальная
Требует развёртывания сервера отладки
Минимальная версия платформы
8.x
8.3.7+
Рекомендуемый сценарий
Локальная сеть, прямой доступ к серверу
Распределённая сеть, сервер за NAT/VPN
Для большинства задач в корпоративной сети с прямым доступом к серверу достаточно TCP/IP. HTTP-режим актуален, когда разработчик работает удалённо через VPN с ограничениями по портам.

Как проверить корректность включения режима

После перезапуска службы нужно убедиться, что сервер принимает подключения от конфигуратора.
Способ 1: Проверка командой netstat / ss
Windows:
netstat -an | find "1541"
Если порт 1541 присутствует в выводе со статусом LISTENING — служба запустилась и слушает порт менеджера кластера.
Linux:
ss -lntp | grep 1541
Аналогичная проверка для Linux-систем. Команда ss является современной заменой netstat на большинстве дистрибутивов.

Отсутствие активного порта 1541 означает, что служба не запустилась с ключом -debug — нужно вернуться к редактированию реестра или конфигурационного файла и проверить журналы системы.
Способ 2: Проверка через конфигуратор
В конфигураторе перейдите в меню «Отладка» → «Подключение». В списке «Доступные предметы отладки» в столбце «Тип» должно появиться значение «Сервер» — это означает, что отладка на сервере включена и работает.

Если сервер и клиент — разные машины, установите флажок «Искать предметы отладки на удалённом компьютере» и укажите адрес сервера.
Настройка автоматического подключения в Конфигураторе
Перейдите в меню «Отладка» → «Подключение» → «Автоматическое подключение». Установите флажки:
  • «Фоновые задания» — для перехвата фоновых заданий;
  • «Серверные вызовы» — для перехвата процедур, выполняемых на стороне сервера.

Что делать, если отладка на сервере 1С не работает

Чаще всего проблема в сети или в несовпадении версий. Разберём по порядку в виде диагностической матрицы:
Симптом
Вероятная причина
Проверка
Действие
Конфигуратор не видит серверные сеансы
Порты закрыты брандмауэром
netstat -an | find "1541" (Windows) или ss -lntp | grep 1541 (Linux)
Открыть входящие TCP 1540, 1541, 1560–1591
Порты открыты, но подключение не работает
Блокирующее правило брандмауэра
Просмотреть список правил брандмауэра Windows
Найти и удалить правила с именем «1cv8» и действием «Блокировать»
Служба не запускается после изменения реестра
Ошибка в строке ImagePath
Просмотреть EventLog (eventvwr.msc)
Восстановить ImagePath из резервной копии, проверить синтаксис
Конфигуратор видит сеансы, но точки не срабатывают
Несовпадение версий платформы
Сравнить версию платформы на клиенте и сервере
Установить одинаковую версию платформы
-debug добавлен, но фоновые задания не видны
Не включено автоподключение
Меню «Отладка → Подключение → Автоматическое подключение»
Установить флажок «Фоновые задания»
Зависший rphost
Рабочий процесс завис
Диспетчер задач / ps aux | grep rphost
Завершить все процессы rphost, перезапустить службу
Подключение не проходит через VPN
NAT/маршрутизация
Проверить доступность порта с клиента: telnet <server_ip> 1541
Использовать HTTP-отладку вместо TCP/IP
Linux: служба стартует без -debug
Override не применился
systemctl status srv1cv8-*.service — проверить строку запуска
Проверить override: systemctl cat srv1cv8-*.service
Несовпадение версий клиента и сервера — вторая по частоте проблема. Версия платформы в конфигураторе на клиентской машине должна совпадать с версией на сервере. Расхождение даже в номере сборки может блокировать подключение. Для устранения рассинхрона версий обратитесь к разделу обновление сервера 1С.

База подключена некорректно — убедитесь, что в конфигураторе указан правильный адрес сервера и порт 1540 (агент). Ошибка в адресе или использование IP вместо DNS-имени (при несовпадении записей) приводит к тому, что конфигуратор не находит сервер.
Влияние ключа -debug на производительность (Риски для продакшена)
Дисклеймер. Информация носит общий характер и не заменяет консультацию специалиста. Любые изменения на продакшен-сервере согласовывайте с ответственным за инфраструктуру.
Включение отладки снижает производительность сервера из-за отключения оптимизации компиляции серверного кода и постоянного опроса отладочных портов. Конкретные бенчмарки для ключа -debug в открытых источниках не опубликованы, поэтому не приводим конкретных процентов — влияние зависит от нагрузки, сложности конфигурации и профиля использования.

Согласно официальной документации: «В связи с тем, что в режиме отладки производительность сервера падает, рекомендуется использовать отладочный режим только для тех серверов, на которых выполняется отладка.»

Практические рекомендации:

  • Включайте -debug только в технологические окна на продакшен-системах.
  • На высоконагруженных базах используйте отдельный тестовый стенд с копией базы.
  • После завершения отладки немедленно отключайте режим (см. раздел ниже).
  • Мониторьте нагрузку на CPU и время отклика rphost во время работы в режиме отладки.

Как отключить режим отладки и откатить изменения

Это критически важный шаг, который необходимо выполнить сразу после завершения отладочных работ.
Отключение на Windows
  1. Открыть services.msc, остановить службу 1C:Enterprise 8.3 Server Agent.
  2. Открыть regedit, перейти по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent.
  3. Отредактировать ImagePath: удалить -debug из строки (убедитесь, что удалили и пробел перед флагом).
  4. Перезапустить службу через services.msc.
  5. Убедиться, что служба запустилась. Проверить, что в командной строке процесса ragent.exe больше нет флага -debug.

Проверка отключения:
netstat -an | find "1541"
Порт должен остаться активным (служба работает), но конфигуратор больше не увидит предметов отладки типа «Сервер» в меню «Отладка → Подключение».

Если служба не стартует после возврата настроек: восстановите ImagePath из резервной копии реестра, которую вы создали перед началом работ. Если резервной копии нет — откройте services.msc, найдите свойства службы, запомните путь к ragent.exe и восстановите строку запуска вручную.
Отключение на Linux (override-метод)
# Удалить override-конфигурацию
systemctl revert srv1cv8-8.3.24.1467.service

# Или вручную: удалить файл override и применить изменения
rm /etc/systemd/system/srv1cv8-8.3.24.1467.service.d/override.conf
systemctl daemon-reload
systemctl restart srv1cv8-8.3.24.1467.service

# Проверить статус
systemctl status srv1cv8-8.3.24.1467.service
После перезапуска убедитесь, что строка запуска в выводе systemctl status не содержит флага -debug.

Проверка на Linux:
ss -lntp | grep 1541
Финальный чек-лист после завершения отладки
  • Флаг -debug удалён из ImagePath (Windows) или override-конфигурации (Linux).
  • Служба перезапущена и работает в штатном режиме.
  • Проверка через netstat/ss — порт 1541 слушается.
  • Конфигуратор в меню «Отладка → Подключение» больше не показывает предметов типа «Сервер».
  • Пользователи уведомлены о завершении технического окна.
  • Мониторинг производительности показывает нормальные значения (нагрузка вернулась к базовому уровню).

Итоговая последовательность работ: включили → проверили (netstat + конфигуратор) → отладили → выключили → проверили отключение.

Часто задаваемые вопросы