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

Серверная отладка в 1С нужна, когда код выполняется не в клиентском приложении, а в серверном контексте: в серверных общих модулях, фоновых и регламентных заданиях, обработчиках проведения, интеграциях или вызовах с директивой &НаСервере.
Чтобы серверный код появился среди предметов отладки, недостаточно поставить точку останова в Конфигураторе. Кластер серверов 1С должен быть запущен в режиме отладки, а Конфигуратор — подключен к соответствующему серверу отладки.
Общая последовательность действий выглядит так:
- Определить службу агента сервера нужной версии 1С.
- Записать ее текущие параметры запуска.
- Остановить службу в согласованное время.
- Добавить параметр запуска
-debug. - Запустить службу заново.
- Настроить протокол отладки в Конфигураторе.
- Подключить серверные предметы отладки.
- Проверить срабатывание точки останова.
Как быстро включить отладку на сервере 1С
| Этап | Что сделать | Что проверить |
|---|---|---|
| Подготовка | Определить версию платформы, имя службы и текущую строку запуска агента сервера. | Изменяется именно служба нужного кластера 1С. |
| Остановка | Завершить пользовательские сеансы и остановить службу агента сервера. | Нет активных пользователей и выполняющихся фоновых заданий. |
| Режим отладки | Добавить параметр -debug в строку запуска агента сервера. | Параметр относится к процессу ragent, а не к клиенту 1С. |
| Перезапуск | Запустить службу агента заново. | Агент, менеджеры кластера и рабочие процессы стартовали без ошибок. |
| Конфигуратор | Выбрать протокол отладки и открыть подключение предметов отладки. | В списке появляются серверные предметы нужной информационной базы. |
| Проверка | Поставить точку останова и выполнить серверный вызов. | Выполнение останавливается на нужной строке серверного модуля. |
Как устроена серверная отладка
Конфигуратор
отладчик
│
▼
Сервер отладки
│
┌───────┼────────┐
▼ ▼ ▼
Клиент Серверный Фоновое
вызов задание
│
▼
Кластер серверов 1С
Что проверить перед включением отладки
Перед изменением параметров службы нужно определить, какой экземпляр платформы обслуживает нужный кластер. На одном сервере могут одновременно быть установлены несколько версий 1С, и изменение не той службы не даст результата или затронет другую рабочую среду.
Версия платформы и имя службы
Откройте оснастку служб Windows и найдите службу агента сервера 1С. В названии или пути к исполняемому файлу обычно указана версия платформы.
Проверьте:
- полное имя службы;
- версию платформы в пути к
ragent.exe; - учетную запись, от которой работает служба;
- каталог данных кластера;
- номер основного порта агента;
- дополнительные параметры запуска;
- наличие нескольких служб разных версий.
Активные пользователи и фоновые задания
Перезапуск агента сервера влияет на работу кластера. Перед остановкой проверьте активные сеансы, фоновые задания, регламентные операции, обмены и интеграции.
Резервная копия текущих параметров
До внесения изменений скопируйте текущую строку запуска службы и сохраните ее в рабочей документации. Это позволит быстро вернуть исходную конфигурацию.
Не меняйте одновременно несколько параметров. Сначала добавьте только режим отладки, перезапустите службу и проверьте результат.
Как включить режим отладки на сервере 1С в Windows
Для серверной отладки агент сервера 1С должен запускаться с параметром -debug. Этот параметр добавляют к строке запуска процесса ragent, обслуживающего нужный кластер.
Шаг 1. Найти службу агента сервера
- Нажмите Win + R.
- Введите:
services.msc- Найдите службу агента сервера «1С:Предприятия 8» нужной версии.
- Откройте ее свойства.
- Запишите имя службы, учетную запись запуска и путь к исполняемому файлу.
Шаг 2. Сохранить текущую конфигурацию
Перед изменением службы сохраните:
- полный путь к
ragent.exe; - все существующие параметры;
- имя системной службы;
- учетную запись запуска;
- настройки восстановления службы после сбоя.
Шаг 3. Остановить службу
После завершения активных сеансов остановите службу через оснастку Windows или штатный инструмент администрирования.
Шаг 4. Добавить параметр -debug
В строку запуска агента нужно добавить параметр:
-debugПараметр добавляют к уже существующей строке запуска, не удаляя пути, порты и каталог данных кластера.
Условный пример:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debugЗначения 8.3.xx.xxxx, портов и каталога приведены только для демонстрации. Используйте параметры действующей службы своего сервера.
Шаг 5. Запустить службу
После изменения запустите службу и убедитесь, что:
- служба перешла в состояние «Выполняется»;
- в журнале событий Windows нет ошибок запуска;
- кластер доступен в консоли администрирования;
- рабочие процессы
rphostсоздаются; - тестовый клиент может подключиться к информационной базе.
Как включить серверную отладку 1С в Linux
В Linux параметр -debug добавляют в конфигурацию запуска службы агента сервера 1С. Конкретное расположение файла и имя службы зависят от версии платформы, дистрибутива и способа установки.
Общий порядок действий
- Определить имя службы агента сервера 1С.
- Посмотреть фактическую команду запуска.
- Сохранить текущую конфигурацию.
- Добавить параметр
-debug. - Перечитать конфигурацию менеджера служб.
- Перезапустить службу.
- Проверить статус и журнал запуска.
Для просмотра подходящих служб на системе с systemd можно использовать:
systemctl list-units --type=service | grep -i 1cПосле определения точного имени проверьте текущий статус:
systemctl status ИМЯ_СЛУЖБЫПеред редактированием unit-файла или связанного файла окружения обязательно сделайте его копию. Не используйте имя службы из примера без проверки на своем сервере.
После изменения конфигурации для службы под управлением systemd обычно требуется выполнить:
systemctl daemon-reload
systemctl restart ИМЯ_СЛУЖБЫ
systemctl status ИМЯ_СЛУЖБЫКоманды перезапуска прерывают активные соединения с кластером. Выполняйте их только после завершения пользовательских сеансов и фоновых операций.
Как подключить серверные предметы отладки
После запуска кластера в режиме отладки откройте информационную базу в Конфигураторе и настройте подключение к предметам отладки.
Выбор протокола отладки
Откройте параметры Конфигуратора и найдите настройки отладки. Доступный вариант зависит от версии платформы и архитектуры подключения.
| Протокол | Когда используется | Что учитывать |
|---|---|---|
| TCP | Прямое сетевое взаимодействие с сервером отладки. | Между компьютером разработчика и сервером должны быть доступны необходимые сетевые соединения. |
| HTTP | Используется в поддерживаемых версиях и сценариях, включая отдельные варианты удаленной отладки. | Нужно корректно указать адрес сервера отладки и проверить доступность URL. |
Не выбирайте протокол только по названию. Он должен соответствовать версии платформы, конфигурации сервера и настройкам отладчика.
Подключение предметов отладки
- Откройте меню Отладка.
- Выберите команду подключения предметов отладки.
- Обновите список доступных предметов.
- Найдите серверные предметы нужной информационной базы.
- Включите автоматическое подключение требуемых типов либо подключите предмет вручную.
В зависимости от выполняемого кода в списке могут появляться серверные сеансы, фоновые задания, регламентные задания и другие предметы отладки.
Как проверить, что серверная отладка работает
Проверка точки останова
- Откройте серверный модуль, код которого точно выполняется в проверяемом сценарии.
- Установите точку останова на исполняемой строке.
- Подключите серверные предметы отладки.
- Запустите действие, вызывающее этот серверный код.
- Убедитесь, что Конфигуратор остановил выполнение на заданной строке.
Для первой проверки лучше выбирать простой управляемый сценарий, а не редкое фоновое задание. Например, серверную процедуру, вызываемую из тестовой формы.
Что проверить, если точка останова не сработала
| Симптом | Вероятная причина | Что проверить |
|---|---|---|
| В списке нет серверных предметов | Кластер запущен без режима отладки или выбран неверный сервер. | Параметр -debug, версию платформы, адрес сервера и перезапуск службы. |
| Предмет появился, но точка не срабатывает | Выполняется другой модуль, другая версия конфигурации или другой серверный процесс. | Место выполнения кода, обновление конфигурации базы и подключенный предмет. |
| Работает клиентская, но не серверная отладка | Запущен клиентский сеанс отладки, но кластер не переведен в режим отладки. | Параметры запуска агента сервера. |
| Не удается подключиться к серверу отладки | Сетевая недоступность, неверный протокол или адрес. | Маршрут, межсетевой экран, URL или настройки TCP/HTTP. |
| Не отлаживается фоновое задание | Предмет появился позже или не включено автоматическое подключение. | Список типов предметов и момент запуска задания. |
| После изменения служба не запускается | Повреждена строка запуска или изменены существующие параметры. | Сравнить строку с сохраненной копией и проверить журнал событий. |
Почему сервер отладки не видит нужный сеанс
Если серверные предметы не появляются, последовательно проверьте:
- совпадает ли версия Конфигуратора с версией сервера;
- перезапускалась ли служба после добавления
-debug; - изменена ли служба нужного экземпляра платформы;
- подключен ли Конфигуратор к нужной информационной базе;
- правильно ли выбран протокол отладки;
- доступен ли сервер отладки по сети;
- выполнялся ли серверный код после открытия окна подключения;
- не подключен ли разработчик к другому кластеру или тестовой базе.
Безопасная работа с серверной отладкой
Когда не стоит включать отладку на рабочем сервере
Серверная отладка предназначена для диагностики и разработки, но не должна без необходимости оставаться постоянно включенной в продуктивной среде.
По возможности используйте отдельный тестовый контур, если:
- ошибку можно воспроизвести на копии базы;
- требуется долго исследовать выполнение кода;
- нужно ставить точки останова в часто вызываемых процедурах;
- на сервере одновременно работает много пользователей;
- остановка выполнения может заблокировать критичный бизнес-процесс;
- проверяется обмен, интеграция или регламентное задание.
Как отключить серверную отладку
После завершения диагностики рекомендуется вернуть исходные параметры запуска.
- Завершите отладочные сеансы.
- Предупредите пользователей о повторном перезапуске.
- Остановите службу агента сервера.
- Удалите только добавленный параметр
-debug. - Не изменяйте остальные параметры строки запуска.
- Запустите службу.
- Проверьте доступность кластера и информационных баз.
Заключение
Чтобы включить серверную отладку в 1С 8.3, нужно запустить агент сервера с параметром -debug, перезапустить службу и подключить серверные предметы отладки в Конфигураторе. Одна только точка останова не позволит отлаживать код, если кластер работает в обычном режиме.
Перед изменением службы необходимо определить правильную версию платформы, сохранить текущую строку запуска и завершить активные пользовательские и фоновые процессы. После перезапуска следует проверить работу кластера, доступность информационной базы и появление серверных предметов.
На рабочем сервере отладку лучше включать только на время диагностики. После завершения работ параметр -debug нужно удалить и повторно проверить штатную работу кластера.
Что почитать дальше
Если вы администрируете серверную инфраструктуру 1С, полезно также посмотреть связанные материалы:
- Не запускается Агент сервера 1С — как проверить службу, параметры запуска, права и журнал событий.
- Сетевые порты сервера 1С — какие соединения используются агентом, кластером, рабочими процессами и СУБД.
- Как обновить платформу 1С на сервере — порядок безопасного обновления и проверки служб.
- Как почистить кэш на сервере 1С — когда очистка действительно нужна и как не затронуть рабочие данные.
Когда стоит обратиться к специалистам
Включить отладку на тестовом сервере можно самостоятельно, если известны параметры службы и есть возможность безопасно перезапустить кластер. На продуктивной системе ошибка в строке запуска или несогласованная остановка службы может затронуть всех пользователей 1С.
IPWAY помогает с настройкой и сопровождением серверов 1С, диагностикой служб кластера, обновлением платформы, переносом баз и организацией тестового контура. Это позволяет исследовать ошибку без необоснованного риска для рабочей среды.
Кратко
- Для отладки серверного кода кластер 1С должен быть запущен в режиме отладки.
- Режим включается параметром
-debugв строке запуска агента сервера. - После изменения параметров службу нужно перезапустить.
- Перед перезапуском необходимо завершить активные сеансы и фоновые задания.
- В Конфигураторе нужно выбрать протокол и подключить серверные предметы отладки.
- Если предметы не появляются, проверьте версию платформы, службу, сеть и выбранный кластер.
- Примеры строк запуска нельзя копировать без проверки собственных путей и портов.
- После диагностики параметр
-debugследует удалить.




