Что делать если не работает отладка на сервере 1С?
По умолчанию, при использовании клиент-серверного режима работы 1С-предприятия никакие серверные функции и процедуры не будут поддаваться пошаговой отладке. Система будет выполнять их «на сервере 1С 8.3″, такие процедуры не видны для клиентской машины.
Для включения режима отладки 1С в режиме клиент-сервер достаточно последовать простым инструкциям для каждой версии 1С:
Отладка на сервере для платформы 1С 8.1
Чтобы точки останова отрабатывали в серверных процедурах, необходимо:
- Остановить службу 1C Enterprise Server Agent.
- Запустить редактор системного реестра. Чтобы открыть редактор реестра, необходимо нажать Windows + R (или Пуск-Выполнить) и ввести в командную строку regedit.
- Найти ветку реестра [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent].
- Скорректировать атрибут «ImagePath»= , добавив «-debug».
- Запустить службу 1C Enterprise Server Agent.
Пример:
До включения:
«C:\Program Files\1cv81\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files\1cv81\server»
После включения отладки:
«C:\Program Files\1cv81\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -debug -d «C:\Program Files\1cv81\server»
Если не работает отладка в 1С 8.2 и 8.3
- Остановить службу 1C:Enterprise 8.2 Server Agent.
- Запустить редактор системного реестра. Чтобы открыть редактор реестра, необходимо нажать Windows + R (или Пуск-Выполнить) и ввести в командную строку regedit.
- Найти ветку реестра [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\1C:Enterprise 8.2 Server Agent\].
- Находим свойство «ImagePath»= , добавляем в строку «-debug».
- Записываем и запускаем службу.
Пример:
До включения:
«»C:\Program Files (x86)\1cv82\8.2.18.109\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files (x86)\1cv82\srvinfo»»
После включения отладки:
«»C:\Program Files (x86)\1cv82\8.2.18.109\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files (x86)\1cv82\srvinfo» -debug»
После того как Вы включили отладку, можно ознакомиться с инструкцией по отладке кода в 1С.
Другие статьи по 1С:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Как включить отладку на сервере 1С
Эта статья рассказывает о том, как включить отладку на сервере 1С 8.1, 8.2 и 8.3 в операционных системах Windows и Ubuntu.
Кроме этого отмечу, что эта статья входит в небольшую серию статей об отладке в 1С:
Включаем отладку на сервере 1С в Windows
Запускаем редактор реестра, выполнив команду regedit (при помощи Win+R или Пуск->Выполнить).
Затем, в редакторе реестра открываем:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\1C:Enterprise 8.3 Server Agent (x86-64)
Для версий 8.1 и 8.2 делаем тоже самое, только последняя часть пути будет отличаться в зависимости от версии сервера.
После этого в параметре ImagePath (подчеркнут на картинке сверху) добавляем -debug, например было:
«C:\Program Files\1cv8\8.3.8.2197\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files\1cv8\srvinfo»
«C:\Program Files\1cv8\8.3.8.2197\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files\1cv8\srvinfo» -debug
Изменяем ImagePath
И наконец, перезапускаем службу «Агент сервера 1С:Предприятия 8.3 (x86-64)» (названием может отличаться в зависимости от версии сервера).
Перезапускаем агент сервера 1С
Готово — теперь отладка на сервере 1С должна заработать.
Включаем отладку по протоколу HTTP на сервере
Описанные выше операции позволяют включить отладку на сервере по протоколу TCP/IP (это вариант по умолчанию) и в подавляющем большинстве случаев это как раз то, что нужно.
Если же требуется отладка по протоколу HTTP, то нужно сделать все тоже самое, только параметр ImagePath в реестре будет выглядеть по другому.
Если сервер отладки будет запускаться кластером серверов, то к ImagePath нужно добавить -http, например:
«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, -debugServerPort и -debugServerPwd, например:
«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 4000
Отладка по протоколу HTTP доступна начиная с версии технологической платформы 8.3.7.
Подробнее об отладке по протоколу HTTP и о сервере отладки можно прочитать в следующей статье серии.
Включаем отладку на сервере 1С в Ubuntu
В начале становим сервер:
sudo service srv1cv83 stop
После этого открываем от имени суперпользователя файл /etc/init.d/srv1cv83 и находим в нем строку:
И приводим ее к такому виду:
Затем запускаем сервер вновь:
sudo service srv1cv83 start
В конфигураторе на клиентской машине идем в «Параметры» -> «Запуск 1С:Предприятия» -> «Дополнительные» и включаем два пункта:
- «Устанавливать режим разрешения отладки»
- «Начинать отладку при запуске»
Включение режима отладки
О том, как установить сервер 1С на Ubuntu 16.04/18.04 можно прочитать в этой статье.
На этом все, надеюсь, что эта статья была Вам полезна. Также напомню про другие статьи серии об отладке в 1С, ссылки на них можно найти в начале этой статьи.
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Не работает отладка http сервисов
На сервере отладка включена,
http сервис опубликован,
автоматическое подключение к HTTP-сервисам на сервере — галка стоит
Приходит ответ, но отладки нет.
В адрес отладчика писал и рабочий компьютер, и локал хост, запускал напрямую с сервера — тщетно.
В предметах отладки виден http сервис, но перехода в модуль http сервиса не происходит.
Может есть ещё где какая настройка?
(1)
в windows для отладки нужно у службы в конце на писать -debug
например
«C:\Program Files\1cv8\8.3.12.1529\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files\1cv8\srvinfo» -debug
Я это делают через реестр windows.
1. Остановить сервер «1С:Предприятия».
systemctl stop srv1cv83.service
2. В конфигурационном файле /etc/sysconfig/srv1cv83 установить значение параметра SRV1CV8_DEBUG в значение 1.
SRV1CV8_DEBUG=1
3. Сохранить конфигурационный файл.
4. Запустить сервер «1С:Предприятия».
systemctl start srv1cv83.service
Возможная проблема:
Если после изменения настроек и перезапуска сервера «1С:Предприятия» изменений не произошло, т.е. отладка не включилась, то надо проверить наличие в строке запуска параметра “-debug”. Например, посредством ввода команды:
ps faux | grep 1C
Если в строках вывода этой команды нет параметра “-debug”, то отладка не включена.
Также стоит обратить внимание на время старта процессов сервера «1С:Предприятия». Если время старта процессов отличается от времени, когда была введена команда “systemctl start srv1cv83.service”, то это значит что данные процессы не управляются посредством systemd.
Решение:
1. Остановить сервер «1С:Предприятия».
systemctl stop srv1cv83.service
2. Получить список процессов сервера «1С:Предприятия».
ps faux | grep 1C
3. Завершить все процессы сервера «1С:Предприятия».
kill -9
4. Запустить сервер «1С:Предприятия».
systemctl start srv1cv83.service
5. Проверить наличие параметра “-debug” в процессах сервера «1С:Предприятия».
ps faux | grep 1C
(15) Отладка на сервере работает,
(18) У сервиса 2 метода
Get и Post, отладка не заходит не в один из них, значение возвращает из Post
Может Скрины прояснят ситуацию
В публикации поставил галку публиковать Http сервисы по умолчанию, тоже не сработало.
В vrd файле убрал у сервера указание порта, тоже не то