Отладка по протоколам HTTP и TCP/IP в 1С

 

Отладку можно проводить при помощи двух различных протоколов: по TCP/IP (вариант по умолчанию) и по HTTP, при этом оба протокола предоставляют достаточно похожие возможности. Собственно, эта статья и посвящена рассмотрению особенностей этих двух протоколов, также в ней рассказывается о том, что такое предмет отладки.

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

Предмет отладки

Начнем с обсуждения такого понятия, как «предмет отладки». Предмет отладки — это контекст  встроенного языка, который характеризуется такими параметрами как:

  • имя пользователя;
  • тип предмета отладки;
  • номер сеанса;
  • имя компьютера и номер порта при отладки по TCP/IP;
  • имя информационной базы при отладке по HTTP.

Типы предметов отладки:

  • тонкий клиент — код исполняемый в тонком клиенте;
  • веб-клиент — код исполняемый в веб-клиенте;
  • толстый клиент — код исполняемый в толстом клиенте;
  • клиент (мобильное приложение) — код исполняемый в клиентском приложении, на мобильном устройстве (только HTTP);
  • сервер — код исполняемый на сервере;
  • сервер (файловый вариант) — код исполняемый на сервере, в файловом варианте;
  • сервер (мобильное приложение) — код исполняемый на сервере, в файловом варианте, на мобильном устройстве (только HTTP);
  • COM-соединение — код исполняемый через внешнее соединение;
  • Web-сервис — код исполняемый при вызовах методов Web-сервисов;
  • HTTP-сервис — код исполняемый при вызовах методов HTTP-сервисов;
  • фоновое задание — код исполняемый в фоновом задании;
  • фоновое задание (файловый вариант) — код исполняемый в фоновом задании (в файловом варианте);
  • фоновое задание (мобильное приложение) — код исполняемый в фоновом задании (в файловом варианте) на мобильном устройстве (только HTTP).

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

Выбор протокола отладки

Выбрать протокол отладки можно в конфигураторе: Главное меню->Сервис->Параметры->вкладка «Отладка»:

Выбор протокола отладки
Выбор протокола отладки

При выборе варианта отладки по протоколу HTTP поля диалога становятся доступными для редактирования. Этот диалог может незначительно отличаться (доступностью полей и значениями по умолчанию) в зависимости от информационной базы.

Группа «Сервер отладки» позволяет указать, каким сервером отладки нужно воспользоваться:

  • Использовать локальный сервер отладки — вариант в основном для файловых информационных баз, в дополнительных полях можно указать адрес сетевой карты (если их несколько), а также один или несколько диапазонов портов которые будут использоваться для отладки, например: 1560:1591, 7700-8000;
  • Использовать удаленный сервер отладки — конфигуратор попытается подключиться к удаленному серверу отладки по указанному адресу и порту;
  • Использовать сервер отладки кластера — используется сервер отладки кластера серверов, кластер серверов должен быть запущен в отладочном режиме.

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

Протокол отладки TCP/IP

При отладке по протоколу TCP/IP отладчик ищет доступные предметы отладки на текущем или указанном компьютере. Для корректной работы отладчика (если конечно речь идет не о файловой базе на одного пользователя) очень рекомендуется нормально настроить сеть — в частности DNS-сервер и доступность отладочных портов (по-умолчанию 1560:1591).

Подключение предметов отладки

Для выполнения отладки модуля нужно подключить предмет отладки. Подключенные и доступные для подключения предметы отладки, а также настройки отладчика и автоматического подключения можно увидеть в диалоге «Предметы отладки» (меню «Отладка»->»Подключение»):

Диалог "Предметы отладки"
Диалог «Предметы отладки»

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

  • отладчик и предмет отладки имеют одинаковый идентификатор информационной базы;
  • в приложении включена возможность отладки (для сервера — см. первую статью серии, для клиентского приложения — соответствующий параметр командной строки либо свойство в диалоге настройки клиентского приложения либо соответствующие указания в конфигурационном файле);
  • отсутствуют в списке подключенных предметов отладки.
Настройки клиентского приложения ("Сервис"->"Параметры")
Настройки клиентского приложения («Сервис»->»Параметры»)

Кнопка «Настройка…» открывается окно с настройками:

Настройки отладчика
Настройки отладчика

В этом окне можно изменить отладочные порты которые будет сканировать отладчик в поисках подходящих предметов отладки. Кроме этого можно узнать адрес отладчика (строка «Отладчик:»), этот адрес пригодится при различных видах отладки в файловых базах (подробнее об этом в следующей статье).

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

Настройки автоматического подключения
Настройки автоматического подключения

Настройку отладки сервисов (Web, HTTP, OData) в файловой базе следует выполнять в диалоге публикации на веб-сервере (подробнее об этом в следующей статье).

 

Протокол отладки HTTP

Отладка по протоколу HTTP доступна начиная с версии технологической платформы 8.3.7. При этом для отладки клиент-серверной информационной базы  сервер должен быть запущен в режим отладки по протоколу HTTP, о том как это сделать читайте в предыдущей статье серии.

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

Сервер отладки

Сервер отладки обычно запускается конфигуратором (в файловом варианте) или кластером серверов (если кластер запущен в режиме отладки).

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

Сервер отладки (dbgs) находится в каталоге bin, параметр --help покажет информацию об имеющихся параметрах запуска (там все довольно понятно), пример запуска:

C:\Program Files\1cv8\8.3.13.1513\bin\dbgs -a 192.168.0.170 -p 4000

Проверяем:

Сервер отладки готов к работе
Сервер отладки готов к работе

Подключение предметов отладки

Как и в случае с отладкой по протоколу TCP/IP, для выполнения отладки по HTTP требуется, что бы предмет отладки был подключен. Управления предметами отладки все также происходит в диалоге «Предметы отладки» (меню «Отладка»->»Подключение»):

Подключение предметов отладки
Подключение предметов отладки

В список доступных предметов отладки попадают все предметы отладки зарегистрированные на используемом сервере отладки для информационной базы, имя которой указывается в настройках (см. «Выбор протокола отладки»).

Из списка доступных предметов отладки исключаются уже подключенные и не соответствующие отбору предметы отладки. Отбор можно установить в правой верхней части окна:

Отбор предметов отладки
Отбор предметов отладки

В окне настроек отладчика можно узнать адрес сервера отладки и имя информационной базы:

Настройки отладчика (HTTP)
Настройки отладчика (HTTP)

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

Настройка автоматического подключения предметов отладки (HTTP)
Настройка автоматического подключения предметов отладки (HTTP)

В левой части диалога можно указать типы предметов отладки, которые подлежат автоматическому подключению, а в правой — дополнительные отборы предметов отладки.

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

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Оценка статьи:
УжасноПлохоНеплохоХорошоОтлично (оценок: 6, средняя оценка: 2,50 из 5)
Загрузка...

Понравилась статья? Поделиться с друзьями:
Комментарии: 1
  1. Алексей

    Добрый день.
    У нас в организации используется клиент-сервер. HTTP-отладка, запускаемая на кластере серверов ИБ, сильно нагружает процессор на сервере. Хотел использовать локальный сервер отладки, запускаемый Конфигуратором, но он не видит серверный предмет отладки. Входящие порты 1560-1590 на компе с запущенным Конфигуратором в Брандмауре я открыл. Реально ли использовать сервер отладки, не используя кластер серверов?

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: