К статье
Практический материал

Администрирование · 9 мин

Как проверить, включена ли отладка на сервере 1С

Способы проверить, запущен ли сервер 1С в режиме отладки: оснастка кластера, командная строка, реестр и журналы. Признаки, риски и типичные ошибки администраторов.

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

Проверить состояние отладки можно несколькими способами: через консоль администрирования кластера, по параметрам запуска службы агента сервера, через реестр Windows или systemd-юнит в Linux, а также косвенно — по подключению отладчика из конфигуратора. Ниже разобраны все рабочие методы для Windows и Linux, с признаками результата и типичными ошибками.

Что такое режим отладки сервера и почему его проверяют

Агент сервера 1С (процесс ragent) может быть запущен с ключом -debug. В этом случае рабочие процессы кластера (rphost) поддерживают подключение отладчика по протоколу TCP/IP, и разработчик может отлаживать код, исполняемый на сервере: серверные процедуры, фоновые задания, web-сервисы.

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

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

Проверка через консоль администрирования кластера

Самый наглядный способ — стандартная консоль «Администрирование серверов 1С:Предприятия» (оснастка MMC на Windows или консоль на Linux). Откройте консоль, подключитесь к нужному серверу и разверните дерево: «Кластеры» → нужный кластер → «Рабочие серверы».

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

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

Порядок проверки через консоль кластера
  1. 1
    Откройте оснастку «Администрирование серверов 1С:Предприятия»
  2. 2
    Подключитесь к серверу: «Центральные серверы 1С» → добавить сервер по имени или IP
  3. 3
    Разверните кластер и откройте ветку «Рабочие серверы», затем свойства сервера
  4. 4
    Проверьте признак режима отладки и порт отладки в свойствах
  5. 5
    Дополнительно откройте «Процессы» и проверьте параметры каждого rphost

Проверка по параметрам запуска службы агента сервера

Windows: служба и реестр

В Windows агент сервера обычно работает как служба «Агент сервера 1С:Предприятия». Откройте «Службы» (services.msc), найдите службу нужной версии платформы и посмотрите её свойства — поле «Исполняемый файл» покажет полную командную строку запуска. Если в строке присутствует параметр -debug, отладка включена.

Ту же строку можно посмотреть в реестре без открытия служб: ключ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (имя зависит от версии и порта), параметр ImagePath. Это удобно для быстрой проверки удалённо или скриптом.

cmd
sc qc "1C:Enterprise 8.3 Server Agent (x86-64)"

Команда sc qc выведет конфигурацию службы, включая BINARY_PATH_NAME — полную строку запуска. Ищите в ней -debug. Если параметра нет — сервер работает в обычном режиме.

Linux: юнит systemd и процессы

В Linux проверьте командную строку работающего процесса агента. Команда ps aux | grep ragent покажет все параметры запуска. Просмотрите также unit-файл службы: systemctl cat srv1cv83 (имя юнита зависит от способа установки) — параметры запуска обычно вынесены в переменные окружения или указаны прямо в ExecStart.

bash
ps aux | grep ragent | grep -v grep

Проверка через подключение отладчика из конфигуратора

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

Если серверных предметов отладки в списке нет и появиться они не могут, а клиентские сеансы видны — скорее всего, отладка на сервере выключена. Учтите, что для полноценной проверки в настройках отладки (меню «Отладка» → «Настройка») должны быть включены нужные типы предметов отладки и выбран протокол, совпадающий с настройками сервера.

Косвенные признаки и журналы

Косвенно режим отладки виден по открытым портам: при включённой отладке агент и рабочие процессы слушают дополнительные порты для подключения отладчика. Проверить прослушиваемые порты можно командами netstat -ano (Windows) или ss -tlnp (Linux) и сопоставить их с процессами ragent и rphost.

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

Контрольные точки

Как проверить результат

Строка запуска службы агента
Норма

Параметр -debug отсутствует (для продуктива)

Тревожный признак

Параметр -debug присутствует на продуктивном сервере

Список предметов отладки в конфигураторе
Норма

Серверные предметы видны на тестовом сервере

Тревожный признак

На тестовом сервере серверные предметы не появляются — отладка не включена или блокируется сетью

Производительность продуктива
Норма

Время отклика соответствует обычному уровню

Тревожный признак

Необъяснимое замедление серверных операций при включённой отладке

Что делать, если отладка включена на продуктивном сервере

Если проверка показала, что продуктивный кластер работает с ключом -debug, запланируйте его отключение. Для этого нужно убрать параметр из строки запуска службы (в Windows — через реестр или переустановку службы утилитой с нужными параметрами, в Linux — правкой unit-файла) и перезапустить агент сервера.

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

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

Типичные ошибки
01
Проверка только клиентской отладки: включённый флажок отладки в конфигураторе не говорит ничего о режиме сервера — проверять нужно параметры агента
02
Перезапуск службы агента в рабочее время ради смены режима — это разрывает сеансы и приводит к потере несохранённых данных пользователей
03
Вывод о выключенной отладке по пустому списку предметов отладки, хотя причина — закрытый порт или неверный протокол в настройках конфигуратора
04
Включение отладки на продуктиве «на пять минут» без обратного отключения — режим остаётся активным месяцами и снижает производительность

FAQ

Влияет ли режим отладки на скорость работы сервера 1С?

Да. В режиме отладки сервер выполняет дополнительные операции контроля исполнения кода, поэтому серверные процедуры и запросы могут выполняться заметно медленнее. На продуктивных кластерах режим отладки рекомендуется держать выключенным.

Можно ли включить отладку без перезапуска службы агента сервера?

Нет. Параметр -debug задаётся при старте агента сервера, поэтому для смены режима службу придётся перезапустить. Это разрывает все сеансы кластера, поэтому операцию выполняют в регламентное окно.

Почему конфигуратор не видит серверные предметы отладки, хотя -debug задан?

Частые причины: отладчик ищет по протоколу, отличному от настроенного на сервере; порт отладки закрыт файрволом; в настройках подключения отключены нужные типы предметов отладки. Проверьте настройки в меню «Отладка» → «Настройка» и сетевую доступность портов.

Как проверить режим отладки, если нет доступа к серверу?

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

Отличается ли проверка для отладки по HTTP и по TCP/IP?

Параметр -debug в строке запуска агента проверяется одинаково. Различие в том, что отладка по HTTP дополнительно требует публикации на веб-сервере и настройки в конфигураторе, поэтому при её использовании проверяйте ещё и настройки публикации информационной базы.

Опасно ли оставлять отладку включённой на тестовом сервере?

На изолированном тестовом сервере это допустимо и является нормальной практикой для разработки. Риск появляется, если тестовый кластер физически совмещён с продуктивным или доступен из недоверенных сетей — тогда возможны влияние на производительность и чтение отладочной информации посторонними.

Итог

Что важно запомнить

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