Отладка серверных процедур (1Cv82)

Материал из КинтВики
Версия от 15:43, 7 июля 2016; Дмитрий Малюгин (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск


Отладка серверных процедур

Для того чтобы можно было отлаживать серверные процедуры надо установить флаги в форме "Сервис->Параметры" конфигуратора:

Параметры разрешения отладки на сервере 1Cv82.png


Отладка на сервере приложений

Это описано в документации:

Книга «1С:Предприятие 8.1. Конфигурирование и администрирование»

Глава 18. Инструменты конфигурирования

Отладчик и замеры производительности

"Отладка кода на сервере

Для установки отладочного режима следует запустить сервер 1С:Предприятия с ключом командной строки /Debug (ragent.exe /debug)."

Ключи запуска агента сервера описаны в книге:

«1С:Предприятие 8.1. Клиент-сервер. Особенности установки и использования»

"Запуск агента сервера как сервиса

Если при установке кластера серверов был выбран вариант запуска агента центрального сервера как сервиса, то данный сервис будет запущен автоматически, в процессе установки и также будет запускаться при старте операционной системы.

Если агент центрального сервера был установлен как приложение, то существует возможность зарегистрировать сервис вручную и затем осуществить его запуск.

Регистрация сервиса выполняется следующей командой:

 ragent.exe -instsrvc -usr <пользователь>
      -pwd <пароль> -port <порт>
       -range <диапазоны>
       -seclev <уровень>
       -debug
       | -rmsrvc | -start | -stop

-instsrvc – регистрация агента кластера как сервиса Windows. Если ragent.exe запущен с этим ключом, то он выполняет регистрацию в списке сервисов Windows и завершается. Не совместим с ключами -srvc, -rmsrvc;

-usr <имя пользователя>

-pwd <пароль пользователя> – имя и пароль пользователя Windows, от имени которого должен запускаться ragent.exe как сервис Windows. Могут использоваться только совместно с ключом -instsrvc при регистрации ragent.exe как сервиса Windows;

-port <порт> – номер главного порта агента кластера. Этот порт используется консолью кластера для обращения к центральному серверу. Порт агента кластера также указывается в качестве IP порта рабочего сервера;

-range <диапазоны> – диапазоны IP портов для динамического выбора. Из них выбираются служебные порты процессов кластера при невозможности их выбора из настроек соответствующего рабочего сервера. По умолчанию: 1560-1591. Примеры значений <диапазоны>: «45:49», «45:67,70:72,77:90»;

-seclev <уровень> – уровень безопасности процесса агента кластера. Определяет уровень безопасности соединений, устанавливаемых с процессом ragent.exe. <уровень> может принимать значения: 0 (по умолчанию) соединения не защищенные, 1 – защищенные соединения только на время выполнения аутентификации пользователей, 2 – постоянно защищенные соединения.;

-rmsrvc – отмена регистрации агента кластера как сервиса Windows. Если ragent.exe запущен с этим ключом, то он отменяет свою регистрацию в списке сервисов Windows и завершается. Не совместим с ключами -srvc, -daemon, -instsrvc.

-start — запустить ragent.exe, зарегистрированный как сервис Windows. Выполняет запуск ragent.exe, ранее зарегистрированного как сервис Windows, после чего завершается;

-stop — остановить ragent.exe, зарегистрированный и запущенный как сервис Windows. Выполняет остановку ragent.exe, ранее зарегистрированного и запущенного как сервис Windows, после чего завершается;

-debug — запуск кластера серверов в режиме отладки конфигураций. "

Таким образом если сервер 1С:Предприятия был запущен как сервис и по каким-то причинам в отладочном режиме он так же должен быть запущен как сервис, необходимо сначала отменить регистрацию сервиса (ключ -rmsrvc), а затем заново зарегистрировать сервис с ключом -debug.

Очевидно, что аналогичного эффекта можно добиться и другими способами, например непосредственной правкой реестра Windows. Для этого, по всей вероятности, следует обратиться к документации по Windows.

Источник: http://partners.v8.1c.ru/forum/thread.jsp?id=477311


Срабатывает только при установке ключа "-debug" в реестре. Во всех остальных случаях почему-то не работает.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent] "ImagePath"=

было "F:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "F:\Program Files\1cv81\server"

поставили "F:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -debug -d "F:\Program Files\1cv81\server"

Источник: http://partners.v8.1c.ru/forum/thread.jsp?id=477311#477311



Для остановки сервера, установленного как сервис, можно:

  • воспользоваться либо оснасткой операционной системы или
  • выполнить команду «Остановка сервера 1С:Предприятия», которой соответствует командная строка

"C:\Program Files\1cv81\bin\ragent.exe" –stop

Для регистрации сервиса в режиме отладки в состав параметров, передаваемых при регистрации, необходимо добавить параметр –debug и вновь зарегистрировать сервис. Например, командная строка регистрации сервиса может выглядеть следующим образом:

"C:\Program Files\1cv81\bin\ragent.exe" -instsrvc -agent -usr ".\USR1CV81" -pwd 1234567 -debug 
    -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv81\server".

Внимание! При необходимости отключить возможность отладки, сервис опять придется перерегистрировать, но уже без ключа –debug.

Источник: http://partners.v8.1c.ru/forum/thread.jsp?id=477311&partt458204=2


Кроме того надо подключить "предмет отладки" "Web-сервис" (Отладка->Подключение->Предмет отладки):

Подключение - предмет отладки.png