Отладка http 1c linux

Отладка на сервере 1С на Linux

Включение отладки на Linux для сервера 1С выполняется как и в Windows с помощью ключа -debug в строке запуска службы. Различие только в способе указания данного ключа. Как это делается в Windows можно посмотреть здесь. О том как запустить отладку 1С по протоколу TCP или HTTP на Linux читаем ниже.

Настройка отладки по протоколу TCP

Следует сразу отметить, что для отладки клиентских сеансов по протоколу TCP, никаких настроек на сервере делать не нужно (о настройке клиента ниже).

Запуск сервера 1С с ключом -debug нужен только для отладки серверных сеансов. Так же не стоит запускать сервер production в режиме отладки, так как это снижает его производительность.

Для запуска агента сервера 1С с ключом -debug надо выполнить следующие шаги:

1. Зайдем на сервер 1С под пользователем root:

Настройка отладки по протоколу HTTP

Если при отладка по tcp ваш компьютер (отладчик) и предмет отладки (например серверный сеанс 1С) обмениваются по сети напрямую, то отладка в 1С по протоколу http организована по трех-звеньевой схеме. Дополнительно запускается сервер отладки (процесс dbgs), который становится посредником между отладчиком и предметом отладки. Теперь все потоки информации идут только через исходящие соединения к серверу отладки. Данный вариант позволяет вести отладку в условиях когда отладчик и предмет отладки разделяют маршрутизаторы, сетевые экраны с NAT и фаерволы блокирующие входящие TCP соединения от предмета отладки к отладчику.

Включение HTTP-отладки на сервере 1C

Поверка работы HTTP сервера отладки

Должен быть запущен процесс сервера отладки dbgs, а также у процесса ragent должен быть отображены ключи запуска -debug и -http .

Процесс сервера http отладки 1сВ случае, если запуск сервера отладки осуществлялся на порту отличном от порта по умолчанию, то у процесса ragent и dbgs также должен присутствовать ключ с номером порта как на картинке ниже: Порты сервера http отладки 1с

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

  1. Заходим в главном меню Сервис -> Параметры. Там ищем закладку «Отладка».
  2. На закладке «Отладка» делаем настройки:
  • Протокол отладки — выбираем параметр «Отладка по протоколу HTTP»
  • Сервер отладки у нас запущен на той же машине что и менеджер кластера, поэтому выбираем «Использовать сервер отладки кластера»
  • Если конфигуратор запущен для целевой базы, то ставим переключатель на «Имя текущей информационной базы». В нашем случае база с именем zup_test_1. Если хотим подключиться для отладки к другой базе, то ставим переключатель на «Использовать указано имя текущей информационной базы» и вводим имя целевой базы как оно указано в реестре кластера.
  • Вводим пароль доступа к базе, если хотим подключиться к другой базе, не той что открыта в конфигураторе.
Читайте также:  Edit file in linux script

Настройка отладки HTTP в конфигураторе 1С

3. Нажимаем кнопку «Перезапустить» чтобы применить настройки.

Настройка клиентского приложения для отладки

Если вы используете отладку только по протоколу TCP, то для отладки клиентских сеансов всех вышеперечисленных настроек сервера 1С можно не выполнять. Для того чтобы клиентский сеанс конкретного пользователя стал доступен для отладки необходимо сделать следующие шаги.

1. В режиме 1С Предприятие заходим в меню Настройки -> Параметры

Меню параметры 1С

2. В окне для параметра «Отладка в текущем сеансе» выбираем вариант «Разрешена» с нужным протоколом.

Настройка отладки в клиенте 1С

Если выбираем протокол HTTP, то в поле «Сервер отладки» так же указываем имя компьютера и порт на котором запущен сервер отладки HTTP.

Параметры отладки клиента по HTTP

Проверка работы отладки

В конфигураторе в главном меню выбираем пункт Отладка -> Подключение. В окне должны отобразиться доступные предметы отладки.

Выбираем сеанс для отладки, нажимаем кнопку «Подключить». Закрываем окно, ставим точку останова в коде и запускаем на выполнение данный код. Если отладчик останавливается на точке останова то миссия по настройке отладки выполнена.

Источник

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

Эта статья рассказывает о том, как включить отладку на сервере 1С 8.1, 8.2 и 8.3 в операционных системах Windows и Ubuntu.

Кроме этого отмечу, что эта статья входит в небольшую серию статей об отладке в 1С:

Включаем отладку на сервере 1С в Windows

Запускаем редактор реестра, выполнив команду regedit (при помощи Win+R или Пуск->Выполнить).

Win+R

Запускаем Regedit

Затем, в редакторе реестра открываем:

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, например:

Читайте также:  Linux system restart required

«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.

УжасноПлохоНеплохоХорошо Отлично(оценок: 4, средняя оценка: 5,00 из 5)

Источник

Отладка на сервере линукс

Коллеги, добрый день.
Не получается включить отладку на линуксе.
5.15.0-48-generic #54-Ubuntu SMP Fri Aug 26 13:26:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
8.3.21.1484
Делал так:
https://its.1c.ru/db/v8321doc#bookmark:cs:TI000000123

cat /opt/1cv8/x86_64/8.3.21.1484/srv1cv8-8.3.21.1484\@.service
[Unit]
Description=1C:Enterprise Server 8.3 (8.3.21.1484) (%I)
Requires=network.target

[Service]
# 1C:Enterprise server keytab file.
# default — usr1cv83.keytab file in 1C:Enterprise server
# installation directory
#
Environment=SRV1CV8_KEYTAB=/opt/1cv8/x86_64/8.3.21.1484/usr1cv8.keytab

# Cluster agent main port
Environment=SRV1CV8_PORT=1540

# Cluster main port for default cluster.
# This port is used by the cluster agent to address
# the central server. Cluster port is also specified
# as the IP port of the working server.
Environment=SRV1CV8_REGPORT=1541

# Port range for connection pool
# example values:
# 45:49
# 45:67,70:72,77:90
Environment=SRV1CV8_RANGE=1560:1591

# 1C:Enterprise server configuration debug mode
# empty value — off
# -debug — on
Environment=SRV1CV8_DEBUG=-debug

В документации указано, что настраивать надо так:

Для того, чтобы отредактировать параметры какого-либо экземпляра кластера серверов, необходимо использовать следующую команду:

systemctl edit srv1cv8-A.B.C.D@instanceName

Когда редактирую таким образом, при повторном запуске systemctl edit srv1cv8-A.B.C.D@instanceName изменения не остаются.

Включение отладки на debian 10 и сервере 1с 8.3.18.1363

Правим файл /etc/init.d/srv1cv83

Закомментированного параметра SRV1CV8_DEBUG=1 нет, добавляем в начале файла.

В добавляем отладку по http
[ «x$SRV1CV8_DEBUG» == «x1″ ] && cmdline=»$cmdline -debug -http»

обновляем настройки сервисов
systemctl daemon-reload

Перезапускаем кластер
systemctl restart ras

или перезапускаем сервер
reboot

Включаем от отладку в конфиураторе

Если нужно отключить отладку — комментируем (или удаляем) первую строку, обновляем сервисы и рестартим сервер.

Читайте также:  Linux check root directory

Вопрос решен включением отладки по http:

cat /opt/1cv8/x86_64/8.3.21.1484/srv1cv8-8.3.21.1484\@.service
[Unit]
Description=1C:Enterprise Server 8.3 (8.3.21.1484) (%I)
Requires=network.target

[Service]
# 1C:Enterprise server keytab file.
# default — usr1cv83.keytab file in 1C:Enterprise server
# installation directory
#
Environment=SRV1CV8_KEYTAB=/opt/1cv8/x86_64/8.3.21.1484/usr1cv8.keytab

# Cluster agent main port
Environment=SRV1CV8_PORT=1540

# Cluster main port for default cluster.
# This port is used by the cluster agent to address
# the central server. Cluster port is also specified
# as the IP port of the working server.
Environment=SRV1CV8_REGPORT=1541

# Port range for connection pool
# example values:
# 45:49
# 45:67,70:72,77:90
Environment=SRV1CV8_RANGE=1560:1591

# 1C:Enterprise server configuration debug mode
# empty value — off
# -debug — on
Environment=SRV1CV8_DEBUG=-debug-http

«.
# 1C:Enterprise server configuration debug mode
# empty value — off
# -debug — on
Environment=SRV1CV8_DEBUG=-debug
. »
Конфиг верный. У меня на астре служба не запускалась, после изменения конфига. А после ребута запустилась.

Если редактировал через nano то там можно при сохранении, сохраненить не в тот файл. Попробуй из mc отредактировать.
«Когда редактирую таким образом, при повторном запуске systemctl edit srv1cv8-A.B.C.D@instanceName изменения не остаются.

Источник

Как включить Debug в 1с 8.3 на Linux?

Добрый день!
не могу настроить дебаг для 1с 8.3 Предприятие.

запускается дебаг только /opt/1C/v8.3/x86_64/ragent -daemon — debug

не могу сделать такое:
Правим скрипт запуска/остановки:
#mcedit /etc/init.d/srv1cv83
находим строку «SRV1CV8_DEBUG $SRV1CV8_DEBUG»
echo «$cmdline» | grep «\-debug» >/dev/null && debugFlag=»1″

что делать? запуск просто как демон не красивое решение, скажите чтоб было всё замечательно.

Оценить 1 комментарий

Gloomy_Nort

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\
Параметр ImagePath — в строку запуска добавляем параметр -debug:
«C:\Program Files\1cv8Х\Х.Х.Х.Х\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 –debug -d «C:\Program Files (x86)\1cv82\srvinfo»

Для Linux:
/etc/sysconfig/srv1cv83
Добавляем (раскомментируем) строку:
SRV1CV8_DEBUG=1

Серьезно? Вы просто скопировали мой совет раскомментировать строчку в скрипте с дебагингом и вас выбрали как правильный ответ? Конечно, хозяин вопроса — барин.

Gloomy_Nort

Dementor: Уважаемый, заметьте что файлик лежит в /etc/sysconfig/srv1cv83 а не в /etc/init.d/srv1cv83, хоть и одинаково называющийся. именно в сусконфиге я нашёл строчку SRV1CV8_DEBUG.
вы конечно извините, но слова «Еще момент — ключ SRV1CV8_DEBUG в конфиге по умолчанию закомментирован. Вы точно убрали символ комментария перед ним? » — это и есть конфиг который находится в /etc/sysconfig/srv1cv83 ? если так то прошу извинить, я не понял вас сразу.

Gloomy_Nort: не заметил, что вы и есть автор вопроса. С каталогами все просто. Что я, что большинство других пользователей 1С под Linux, используем дистрибутивы на базе Debian (в подавляющем большинстве Ubuntu Server 12/14 LTS), в которых скрипт находится именно в каталоге init.d (каталога sysconfig там в принципе не существует).
Поскольку вы являетесь опытным пользователем системы SUSE , то вы должны были сами знать про каталог /etc/sysconfig . Ну или хотя бы упомянуть о названии своего дистрибутива в описании вопроса.

Источник

Оцените статью
Adblock
detector