В клиент-серверном варианте код, который выполняется на сервере 1С (серверные процедуры модулей,
фоновые задания, HTTP- и веб-сервисы), можно отлаживать в Конфигураторе, только если сервер 1С:Предприятия запущен
в режиме отладки. Режим включается ключом -debug в строке запуска агента сервера (ragent), после этого
сервер нужно перезапустить.
Отладка работает по протоколу HTTP или TCP/IP, возможности у них почти одинаковые. Протокол указывается после ключа:
-debug -http или -debug -tcp. Ключ -debug без значения включает TCP/IP.
В Конфигураторе нужно выбрать тот же протокол, что и на сервере.
Порты должны быть открыты в брандмауэре. Для HTTP сервер отладки кластера по умолчанию использует порт 1550 на сервере 1С. Для TCP/IP по умолчанию используются порты 1560-1591 на всех компьютерах, которые участвуют в отладке.
services.msc и остановите службу
«Агент сервера 1С:Предприятия 8.3» (у 64-разрядной версии с пометкой «x86-64»). Нужны права администратора.regedit и откройте раздел
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)
(для 32-разрядной версии: 1C:Enterprise 8.3 Server Agent). Откройте параметр ImagePath
и допишите в конец строки через пробел -debug -http (для TCP/IP: -debug).
Остальное в строке не меняйте. Пример строки после правки, версия платформы и каталоги у вас свои:
"C:\Program Files\1cv8\8.3.27.xxxx\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug -httpДругой способ из документации 1С: перерегистрировать службу командой ragent /instsrvc с прежними
параметрами (порты, каталог данных кластера, пользователь и пароль, от имени которого работает служба) и ключом
/debug -http. Если сервер 1С запущен не как служба, а как приложение, остановите его клавишами Ctrl+C
и запустите заново, добавив к прежним параметрам /debug -http.
sudo systemctl stop srv1cv8-A.B.C.D@default
Здесь A.B.C.D - полный номер версии платформы, default - имя экземпляра сервиса по умолчанию.sudo systemctl edit srv1cv8-A.B.C.D@default
В открывшемся файле добавьте строки:
[Service]
Environment="SRV1CV8_DEBUG=-debug -http"
Кавычки вокруг всей записи обязательны: без них systemd отбросит часть значения после пробела, и сервер включит
отладку по TCP/IP вместо HTTP. Для TCP/IP достаточно строки Environment=SRV1CV8_DEBUG=-debug.
Сохраните файл и закройте редактор, systemd перечитает настройки сам.sudo systemctl start srv1cv8-A.B.C.D@defaultДля протокола HTTP: в Конфигураторе откройте «Отладка» → «Подключение» → «Настройка...» и скопируйте адрес из строки «Сервер отладки». Откройте этот адрес в браузере: работающий сервер отладки отвечает строкой вида «1C:Enterprise 8.3 Debug Server ... - it works!».
Уберите -debug -http из параметра ImagePath (Windows) или удалите строку
SRV1CV8_DEBUG командой systemctl edit (Linux) и перезапустите сервер 1С.
Источник: its.1c.ru, «1С:Предприятие 8.3. Руководство разработчика», глава 31 «Отладка и тестирование прикладных решений» и глава 39, раздел «Отладка»; «Клиент-серверный вариант. Руководство администратора», глава 4 «Запуск компонентов системы»; «Руководство администратора», приложение 4, «Агент кластера (ragent)»; база знаний 1С kb.1ci.com, «How to enable debugging of 1C:Enterprise server instance»; документация systemd, systemd.exec, параметр Environment=.