1с серверная отладка debug не работает

Что делать если не работает отладка на сервере 1С?

По умолчанию, при использовании клиент-серверного режима работы 1С-предприятия никакие серверные функции и процедуры не будут поддаваться пошаговой отладке. Система будет выполнять их «на сервере 1С 8.3″, такие процедуры не видны для клиентской машины.

Для включения режима отладки 1С в режиме клиент-сервер достаточно последовать простым инструкциям для каждой версии 1С:

Отладка на сервере для платформы 1С 8.1

Чтобы точки останова отрабатывали в серверных процедурах, необходимо:

  1. Остановить службу 1C Enterprise Server Agent.
  2. Запустить редактор системного реестра. Чтобы открыть редактор реестра, необходимо нажать Windows + R (или Пуск-Выполнить) и ввести в командную строку regedit.
  3. Найти ветку реестра [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent].
  4. Скорректировать атрибут «ImagePath»= , добавив «-debug».
  5. Запустить службу 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

  1. Остановить службу 1C:Enterprise 8.2 Server Agent.
  2. Запустить редактор системного реестра. Чтобы открыть редактор реестра, необходимо нажать Windows + R (или Пуск-Выполнить) и ввести в командную строку regedit.
  3. Найти ветку реестра [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\1C:Enterprise 8.2 Server Agent\].
  4. Находим свойство «ImagePath»= , добавляем в строку «-debug».
  5. Записываем и запускаем службу.

Пример:
До включения:
«»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. Добавьте ключ «-debug» в строке запуска службы «Агент сервера 1С:Предприятия 8.3».

Например, по умолчанию строка такая (условно):

«C:\Program Files\1cv8\8.x.xx.xxxx\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files\1cv8\srvinfo»

Запуск с опцией отладки:

«C:\Program Files\1cv8\8.x.xx.xxxx\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -debug -d «C:\Program Files\1cv8\srvinfo»

Условия запуска меняются в реестре — через строковый параметр «ImagePath». Раздел находится здесь в зависимости от разрядности:

  • HKLM\SYSTEM\CurrentControlSet\services\1C:Enterprise 8.3 Server Agent
  • HKLM\SYSTEM\CurrentControlSet\services\1C:Enterprise 8.3 Server Agent (x86-64)

Для активации потребуется рестарт службы либо перезагрузка сервера.

2. В меню «Сервис — Параметры — Запуск 1С:Предприятия — Дополнительные» включите опции:

  • «Устанавливать режим разрешения отладки»;
  • «Начинать отладку при запуске»

3. Через Конфигуратор откройте «Отладка — Подключение» — какие сеансы у вас показываются в предметах отладки; поставьте настройки в окне «Автоматическое подключение».

Например, автоматически подключать «Клиентские и внешние соединения на сервере» или «Фоновые задания» в зависимости от задачи.

4. При использовании отладки по протоколу TCP/IP возможно потребуется настройка правил брандмауэра.

Проверьте эти моменты и, скорее всего, отладка в серверном режиме у вас заработает.

Вам надо по-другому работать с наличкой. Кого прижмут налоговики и банки? Забирайте запись, пожалуй, лучшего вебинара «Клерка»: «Как будут контролировать наличку по 115-ФЗ».

Только до завтра можно забрать запись со скидкой 20%. Программу вебинара смотрите здесь

Источник

Не работает отладка 1С

Разберем основные случаи когда и почему не работает отладка 1С.

1. В списке предметов отладки не видны серверные сеансы

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

2. В списке предметов отладки не видны ни клиентские ни серверные сеансы.

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

Если и после этого список пустой, то нужно вбить вместо имени IP-адрес удалённого компьютера. В случае если это помогло, то рекомендуется прописать привязки имен и IP-адресов компьютеров в файле hosts. Если и это не помогло то необходимо проверить настройку фаервола, разрешены ли на сервере 1С (или удаленном клиенте) входящие соединения с компьютера где запущен отладчик на порты 1560-1591.

3. В списке предметов отладки не видны клиентские сеансы.

Причина как правил в том, что не разрешена отладка клиентского приложения. Для разрешения отладки клиентского сеанса достаточно в настройках программы в режиме 1С Предприятие указать в параметре «Отладка в текущем сеансе» — Разрешена TCP/IP.

4. Предмет отладки виден в конфигураторе и подключается, но точка останова все равно не срабатывает на строке кода.

Данная проблема актуальна при отладке по протоколу TCP. Причина в том что отладчик не может принимать входящие соединение из-за того что брандмауер или фаервол блокируют сетевое взаимодействие между отладчиком и предметом отладки. Тут нужно понимать, что отладчик не только устанавливает исходящее соединение с предметом отладки, но также должен иметь возможность принимать входящее соединение. Проблема решается отключением фаервола на компьютере где запущен отладчик либо открытием входящих соединений на портах 1560-1591 для исполняемого файла 1cv8.exe.

5. Программный код выполняется в сеансе фонового задания.

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

6. Программный код выполняется в сеансе web-сервиса или http-сервиса.

Как правило сеанс подключения к web-сервису http-сервису существует непродолжительное время и вручную подключиться к нему проблематично. Здесь так же достаточно включить автоматическое подключение к таким сеансам и отладчик сам будет находить и подключать предметы отладки, ваша задача только поставить точку останова в коде.

Подводим итоги

Как видим основные причины неработающей отладки 1С легко решаются. Пожалуй самой трудно-диагностируемой проблемой является работающий в сети фаервол, который может блокировать соединения между отладчиком и предметом отладки. В самом простом случае достаточно открыть порты для подключения как описано выше. В более сложном случае, когда отладчик и предмет отладки разделены NAT, может потребоваться проброс портов. Самый крайний случай когда из-за политик безопасности прямое сетевой взаимодействие по протоколу TCP между отладчиком и предметом отладки не возможно, следует рассмотреть вариант отладки по протоколу HTTP.

Напоследок стоит отметить, что как правило отладка производиться на тестовом сервере 1С, который запускается на портах отличных от типового диапазона 1560-1561. Поэтому, все изложенное выше в части номеров портов, следует рассматривать в контексте ваших реально используемых диапазонов портов.

Источник

Не работает отладка http сервисов

На сервере отладка включена,
http сервис опубликован,
автоматическое подключение к HTTP-сервисам на сервере — галка стоит
Приходит ответ, но отладки нет.
В адрес отладчика писал и рабочий компьютер, и локал хост, запускал напрямую с сервера — тщетно.

В предметах отладки виден http сервис, но перехода в модуль http сервиса не происходит.

Может есть ещё где какая настройка?

Сервер Centos 7

(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С:Предприятия» работающего в режиме «демона» в ОС Centos 7, то необходимо выполнить следующие операции:
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 файле убрал у сервера указание порта, тоже не то

Источник

Как включить отладку на сервере 1С (8.1, 8.2, 8.3)

Изначально в клиент-серверных базах 1С 8.3 (8.1, 8.2) отладка производится только на клиенте и не работает на сервере. Процедуры и функции, которые выполняются на сервере невозможно отладить. Естественно, это довольно неудобно.

В данной инструкции мы расскажем, как же все-таки включить отладку на сервере, расширив тем самым возможности при разработке прикладных решений. Все ниже описанные действия подойдут для различных версий 1С: 8.1, 8.2 и 8.3. Отличием будет являться лишь название папки в реестре и службы. По самому наименованию их легко отличить, так как в него включается указание этого номера.

  1. Чтобы включить отладку перейдите в редактор реестра. Сделать это проще всего, вызвав окно «Выполнить» комбинацией горячих клавиш «Win+R». Наберите в нем слово «regedit» и нажмите «ОК».
  2. В открывшейся форме перейдите в папку «1C:Enterprise3 Server Agent». Она расположена в: «HKEY_LOCAL_MACHINE» — «SYSTEM» — «ControlSet001» — «Services».
  3. Далее, когда вы выбрали необходимую папку в редакторе реестра, найдите в правой его части строку с именем «ImagePath». Нажмите на него правой кнопкой мышки, и перед нами появится контекстное меню. Выберите в нем пункт «Изменить».
  4. В открывшемся окне уже существующий текст в рамках нашей задачи редактировать не надо. Допишите лишь в конце « -debug».

    В нашей ситуации до изменения текст у этой переменной был такой:

    С подключением debug строка стала выглядеть таким образом:
  5. Завершающим этапом является перезапуск службы 1С, соответствующей вашей текущей версии релиза. В нашем случае это «Агент сервера 1С:Предприятия 8.3».

Источник

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