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

Обновлено: 07.07.2024

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

Включить отладку можно следующим способом.

Вначале нужно на сервере проверить, с какими флагами запущены сервиса 1С. Сервис srv1cv82 запускает три процесса. Посмотреть их можно командой:

usr1cv82 2952 0.0 0.3 114380 15464 ? Ssl Июл06 29:33 /opt/1C/v8.2/i386/ragent -daemon

usr1cv82 2986 0.1 0.5 298612 24380 ? Sl Июл06 149:53 /opt/1C/v8.2/i386/rmngr -port 1541 -range 1560:1591

usr1cv82 3108 0.0 3.7 485660 154968 ? Sl Июл06 50:24 /opt/1C/v8.2/i386/rphost -range 1560:1591 -reghost energobase -regport 1541 -pid 9d4225ae-9e32

Видно, что процесс ragent запущен с параметром -daemon . И нужно добиться того, чтобы этот сервис запускался с параметром -debug .

Поиск по сети дал следующую информацию: дебаг на серверной части под linux можно запустить, установив в скрипте запуска (/etc/init.d/srv1cv81) следующую строку:

Внимание! Во многих Linux-дистрибутивах редактировать файл скрипта запуска сервиса нельзя в тот момент, когда сервис запущен. Поэтому вначале надо остановить сервис сервера 1С:

service srv1cv82 stop

затем надо отредактировать файл запуска /etc/init.d/srv1cv81, затем включить сервис сервера 1С:

service srv1cv82 start

После чего можно проверить, с какими опциями запустился процесс ragent :

usr1cv82 11521 0.0 0.3 105708 14140 ? Ssl 14:03 0:00 /opt/1C/v8.2/i386/ragent -daemon -debug

usr1cv82 11524 0.5 0.5 261168 24624 ? Sl 14:03 0:00 /opt/1C/v8.2/i386/rmngr -port 1541 -range 1560:1591 -debug

usr1cv82 11539 0.1 0.5 122968 24236 ? Sl 14:03 0:00 /opt/1C/v8.2/i386/rphost -range 1560:1591 -reghost energobase -regport 1541 -pid 9d4225ae-9e32

Видно, что у процесса ragent появилсь опция -debug .

Далее нужно сделать настройки в самом конфигураторе.

В параметрах надо включить две галки:


И в настройке предметов отладки надо проверить, чтобы был подключен сервер в качестве предмета отладки. "Отладка" - "Подключение" - "Подключенные предметы отладки". Эта настройка делается в момент, когда отладка запущена (F5):


Возможно (не подтверждено), что еще потребуется по кнопке "Автоматическое подключение" сделать следующую настройку:

Если в отладочный режим необходимо перевести сервер «1С:Предприятия» работающего в режиме «демона» в ОС Linux, то необходимо выполнить следующие операции:

1. Остановить сервер «1С:Предприятия».

2. В конфигурационном файле srv1cv83 установить значение параметра SRV1CV8_DEBUG в значение 1.

3. Сохранить конфигурационный файл.

4. Запустить сервер «1С:Предприятия».

(5) Shaka13, нет, єто я не досмотрел.
у меня стоит
SRV1CV8_DEBUG=1 , после sudo service srv1cv83 restart все нормально отлаживается.

(6) pumbaE, странно почему у меня не стартует :(

и еще вопрос в режиме отладки можно все время работать серверу или на время отладки включать?

(7) Shaka13, в боевом режиме отключен, на сервере для разработки включен. (на экземпляре тестовог, dev сервера)

p.s: добавьте вручную ключ -debug

Во многих источниках пишут про конфигурационный файл, а где его искать не указывают. Мне, как новичку в linux, пришлось потратить время.

P.S. Проверить с какими параметрами запущен сервер 1с в centos можно так: ps aux | grep 1c

Скорее всего у Вас проблема в том, что Вы не остановили сервер 1с перед редактированием файла и получилось так что система пытается найти процесс 1с с параметром debug и отключить его, а не может потому что его нет.

Сервер как «демон» ОС Linux

Если в отладочный режим необходимо перевести сервер «1С:Предприятия» работающего в режиме «демона» в ОС Linux, то необходимо выполнить следующие операции:

1. Остановить сервер «1С:Предприятия».

Копировать в буфер обмена
/etc/init.d/srv1cv83 stop
2. В конфигурационном файле srv1cv83 установить значение параметра SRV1CV8_DEBUG в значение 1.

Копировать в буфер обмена
SRV1CV8_DEBUG=1
3. Сохранить конфигурационный файл.

4. Запустить сервер «1С:Предприятия».

Копировать в буфер обмена
/etc/init.d/srv1cv83 start

Как писали в (10) линукс установка 1С имеет несколько вариаций, в отличии от винды.

Конфигурационный файл /etc/sysconfig/srv1cv83 (для RPM-системы) используется для задания параметров запуска агента сервера «1С:Предприятия» с помощью скрипта /etc/init.d/srv1cv83. Если установка выполнялась для DEB-системы, то нижеперечисленные параметры следует редактировать в файле /etc/init.d/srv1cv83.

ВНИМАНИЕ! Данный конфигурационный файл используется только в случае запуска сервера «1С:Предприятия» в операционной системе Linux.
С помощью этого конфигурационного файла можно настраивать следующие параметры:

Путь к файлу закрытого ключа Kerberos.

Каталог, в котором будут расположены служебные файлы кластера серверов (в том числе список кластеров и список информационных баз кластера).

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

Номер сетевого порта кластера, создаваемого по умолчанию при первом запуске ragent.

Диапазоны сетевых портов для динамического выбора. Из них выбираются служебные порты процессов кластера при невозможности их выбора из настроек соответствующего рабочего сервера.

Запуск в режиме отладки:

Уровень безопасности соединений;

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

Значение по умолчанию: 1 000.

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

Значение по умолчанию: 5 000.

К дополнение к (12). В первый раз решал вопрос с линуксом.
Админ уверил что все сделал верно, но отладка не включилась!
Попросил выполнить команду:

Это говорит, что линкукс работает в режиме "демона" и отладка на сервере включена!
Затем он мне сказал, что на других машинах отладка работала.
Я уточнил про блокировку портов. И сам проверил браундмауер.
Проблем с блокировкой не было!
Затем я уточнил в одной ли подсети работает сервер и ПК для отладки.
Админ сказал, что в разных!
После переноса ПК в подсеть сервера отладка заработала!
Глубоко не копал, но похоже для отладки нужна одна подсеть или как сделать, чтобы работало в разных? (13)вставлю свои 5 копеек, попробуйте в конфигураторе в подключение отладки поставить галку "искать предметы отладки на другом компьютере" и ввести ип адрес вашего сервера Вопрос сюда же такой. Отладка работает, все в порядке, но как быть с окном "ВЫ можете подождать отклика приложения. ", которое появляется в процессе отладки из окна 1С:Предприятия, находящегося в останове? оно блокирует работу конфигуратора, и приходится каждый раз жать "Подождать" и потом можно успеть выполнить пару действий в конфигураторе, затем снова выходи это окно. (16) Нет, так и мучаюсь. Никто нигде не знает, как это убрать, а самому мозгов не хватает найти Нет, так и мучаюсь. Никто нигде не знает, как это убрать, а самому мозгов не хватает найти (18) Если оболочка GNOME3 и речь про его блокирующее окно - то менять оболочку. Столкнулся с такой же проблемой. Сервер на линуксе. Не запускалась отладка, хотя в "отладка-подключение" всё было подключено. Сервер и отладочная машина были в одной подсети. Проблема оказалась в брандемауре виндовс отладочной машины.

Отладка запускается (Linux Mint, 1С:Предприятие 8.3.14.1779), но на первой же точке останова блокируются события мышки. Даже окно конфигуратора не передвинуть !
Но клавиатурные события отрабатываются, кнопки нажимаются.
Если нажать F10 (перейти к следующей инструкции), конфигуратор "размораживается", окно можно двигать.
А если, например, Shift-F9 - вызывается окно вычисления выражений, но текстового курсора нет, поскольку "мышка сдохла".

Пока разработку в среде 1С по Linux не могу вести из-за двух вещей, которые "бесят" - проблема с отладкой и отсутствие аналога консоли администрирования. Управлять списком баз на сервере 1С под Linux в командной
строке через ras/rac то еще удовольствие. Дополнительная машина под Windows для администрирования баз - это "костыль". Пока такой вариант использовал:
Сервер 1С + PostgreSQL - под Linux, там же VitualBox
В среде Virtual Box + Windows 10 установлен Сервер 1С, клиент 1С и консоль администрирования.
USB ключик у меня один (на нем лицензия минисервера + клиента 1С).

Новые базы создаю под Linux из 1С. Потом эти же базы в консоли для Win10 подключаю к серверу 1С, который под Win 10. В результате одна и та же база может быть подключена к серверу 1С Linux и под Windows.
Базу можно из консоли удалить. Останутся только "хвосты" на сервере 1С под Linux. Вот их и придется
потом отрубать ручками.

Костыли, такие костыли . если есть у кого рецепты получше, вразумите пожалуйста.
А в остальном, под Linux гораздо приятнее. Компьютер без толку "не молотит". Это
отчетливо слышно. Под Linux вентилятор на системном блоке не слышно, под Win 10 гудит.
А настройка скорости работы вентилятора от температуры датчика - в UEFI, т.е. вне ОС.

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

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

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

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

Gloomy_Nort

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\<Название службы 1С нужной версии>
Параметр 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 . Ну или хотя бы упомянуть о названии своего дистрибутива в описании вопроса.

Gloomy_Nort

Dementor: прошу прощения за свой косяк. Я на Centos-e поднимал. а я то думал почему везде пишут так. Gloomy_Nort: и как вам Centos? До меня доходили слухи, что 1С работает живее чем на Убунтах, но я лично сравнительного тестирования не проводил.

Gloomy_Nort

Дмитрий Кинаш, да не плох очень даже.
сравнивал гвилёвским тестом, мой центос с постгре 9.2 рвёт мс сыкуэль. то ли базы разные толи линукс рулит )

Правка /etc/init.d/srv1cv83 мне всегда помогала. Проверьте свой каталог /etc/init.d/ - возможно там завалялся еще какой-нибудь srv1cv8* , который прописан в автозагрузку и настройки из которого ваш сервер 1С при этом считывает (там же кроме ключика отладки еще настройка портов и прочие нужные для запуска опции).

Еще момент - ключ SRV1CV8_DEBUG в конфиге по умолчанию закомментирован. Вы точно убрали символ комментария перед ним?

Gloomy_Nort

не знаю какую строку вы там редактируете чтобы всё было гуд, но вот я нашёл решение одно из кучи блого-форумов

Редактироваь надо:
Для Windows:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\<Название службы 1С нужной версии>
Параметр 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

Установка Платформы «1С:Предприятие» в ОС Linux

Перед началом установки необходимо скачать дистрибутивы, которые понадобятся в дальнейшем. В данном примере мы будем устанавливать:

  • Сервер «1С:Предпритие» 64-bit версии 8.3.13.1644. Пакеты для установки доступны здесь:
  • Если для сервера использоваться ключи аппаратной защиты HASP, то необходимо установить на сервер драйвер защиты HASP. Последние версии для различных операционных систем можно скачать:

Если в дальнейшем работа с сервером «1С:Предприятие» на Linux и управление будет осуществляться c других машин, необходимо убедиться в том, что ip-адрес компьютера, на котором расположен сервер, будет корректно разрешаться в его hostname. Откроем консоль сервера от имени пользователя root и получим адрес компьютера:

Имя компьютера можно получить так:

Теперь данные о соответствии ip-адреса и имени необходимо внести в файлы hosts тех машин, откуда будут устанавливаться соединения с кластером серверов:

Для Windows он расположен обычно:

В противном случае при установке клиентского соединения с рабочим процессом кластера будет возникать ошибка.

Установка платформы в Debian-системах на примере Ubuntu Server 16.04

  1. Откроем консоль сервера от имени пользователя root.
  2. Создадим директорию, куда поместим (любым удобным образом) архив с Deb-пакетами для установки Сервера 1С:Предприятие, скачанный предварительно.
  1. Войдем в каталог /1c/soft/1с:

Распакуем архив (при помощи команды tar xzf):

  1. Для установки пакетов удобнее всего воспользоваться утилитой gdebi. Если она не была ранее установлена, это можно сделать при помощи команды:

Устанавливаем сервер «1С:Предприятие»:

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

Установка будет осуществлена в директорию /opt/1C/v8.3/x86_64.

  1. Для корректной работы приложений необходимо установить шрифты из состава Microsoft Core Fonts:

Для того, чтобы система «увидела» установленные шрифты, нужно выполнить команду:

  1. Устанавливаем дополнительные внешние библиотеки:
  1. Запускаем службу:

Проверить статус работы можно при помощи команды:

Будет выполнена проверка, запущен ли сервис (Starting 1C:Enterprise 8.3 server: OK), и выведено детальное состояние сервиса.

Проверить, запущены ли процессы кластера, можно при помощи команды:

Перейдем к установке драйвера HASP. Для данного примера скачиваем драйвер по адресу:

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

  1. Создадим каталог /1c/soft/hasp:
  1. В этот каталог любым удобным образом поместим скачанный пакет установки драйвера и перейдем в него:
  1. Поскольку драйвер использует 32-битные библиотеки, устанавливаем их:
  1. Устанавливаем драйвер:
  1. Запускаем драйвер защиты HASP:

Проверить статус можно так:

Установка платформы в RPMS на примере CentOS 7

  1. Откроем консоль от имени root.
  2. Создадим директорию, куда поместим (любым удобным образом) архив с RPM-пакетами для установки Сервера 1С:Предприятие, скачанный предварительно.
  1. Перейдем в директорию /1c/soft/1с

tar xzf rpm64_8_3_13_1644.tar.gz

В данном примере будут установлены все пакеты, но, если в вашей системе не планируется использовать языки, отличные от русского и английского, nls-пакеты вы можете не устанавливать - они содержат только языковые файлы.

Для пакетов x86_64 установка будет осуществлена в директорию /opt/1C/v8.3/x86_64.

  1. Для корректной работы приложений необходимо установить шрифты из состава Microsoft Core Fonts.
  • Скачиваем любым удобным образом (например, при помощи wget) файлы пакета с сервера SourceForge:

Надо скачать все .exe-файлы, кроме wd97vwr32.exe.

  • Переименовываем все скачанные .exe-файлы, присвоив им расширение .zip, после чего распакуем их и удалим все, кроме имеющих расширение .ttf – это файлы шрифтов.
  • Файлы шрифтов (.ttf-файлы) копируем в каталог /usr/share/fonts/truetype/

Для того, чтобы система «увидела» установленные шрифты, нужно выполнить команду:

  1. Устаналиваем дополнительные внешние библиотеки:
  1. Запускаем службу:

Проверить статус работы можно при помощи команды:

Будет выполнена проверка, запущен ли сервис (Starting 1C:Enterprise 8.3 server: OK), и выведено детальное состояние сервиса.

Проверить, запущены ли процессы кластера, можно при помощи команды:

Перейдем установке драйвера HASP. Для данного примера скачиваем драйвер по адресу :

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

  1. Создадим каталог /1c/soft/hasp:
  1. В этот каталог любым удобным образом поместим скачанный пакет установки драйвера и перейдем в него:
  1. Поскольку драйвер использует 32-битные библиотеки, устанавливаем их:
  1. Устанавливаем драйвер:
  1. Запускаем драйвер защиты HASP:

Проверить статус можно так:

Основные проблемы и вопросы по установке Платформы «1С:Предприятие» в Linu x

1. При работе возникают ошибки «Не найдена библиотека …»

В зависимости от вашего дистрибутива Linux и функционала системы для корректной работы 1С:Предприятие вам может понадобиться дополнительно самостоятельно установить внешние библиотеки. Полный список их представлен в документации:

Обратите внимание, что в документации указано именно имя библиотеки, а не имя пакета. Имя пакета, в который она входит, может отличаться в разных дистрибутивах. В какие именно пакеты входит библиотека, обычно можно найти в репозитории для вашей ОС.

2. Как запустить сервер в режиме отладки?

Для того, чтобы на сервере была доступна отладка, необходимо запустить его в ключом –debug. Для этого сначала остановим сервер "1С:Предприятие":

ВАЖНО! Не редактируйте параметры запуска сервера в процессе его работы, это может привести к ошибкам при его перезапуске.

Теперь необходимо отредактировать параметры его запуска в конфигурационном файле srv1cv83 (в данном примере с использованием редактора vim):

Сохраняем изменения и выходим из файла.

Перезапускаем сервер «1С:Предприятия 8»:

3. Где находится каталог данных кластера серверов и как его изменить?

По умолчанию каталог кластера находится в директории пользователя, от имени которого запущен сервер 1С:Предприятие - $HOMEDIR/.1cv83/1C/1Cv83, например:

Для того, чтобы изменить место изменить место расположения, необходимо, по аналогии с п. 1, изменить параметр SRV1CV8_DATA запуска в конфигурационном файле /etc/sysconfig/srv1cv83.

ВАЖНО! Не забудьте убедиться в наличии прав на директорию данных кластера у пользователя, от имени которого запущен сервер. Увидеть права можно при помощи команды:

Предоставить права можно так:

В конфигурационном файле /etc/sysconfig/srv1cv83 также задаются порты, на которых будут работать процессы кластера, и другие параметры запуска.

4. Как настроить технологический журнал сервера в Linux ?

На сервере создадим каталоги, в который будут помещаться файлы журнала:

Создадим каталог для настроек журнала /opt/1C/v8.3/x86_64/conf:

Поместим в этот каталог файл logcfg.xml со следующим (например) содержимым:

В данном случае собирается полный технологический журнал (не стоит делать так на постоянной основе в продуктиве), срок хранения файлов журналов - 24 часа, находиться они будут в директории /var/log/1c/logs.

ВАЖНО! Необходимо предоставить пользователю, от имени которого работает сервер 1С:Предприятие, права на запись в каталог логов. Например, так:

Читайте также: