Dbgs exe 1c что это
Мы значительно переработали механизм отладки. Для этого было несколько причин. Во-первых, мы хотели предоставить вам возможность отлаживать все имеющиеся на сегодняшний момент приложения. Во-вторых, прежняя архитектура отладчика требовала изменений для того, чтобы соответствовать текущим тенденциям, и иметь возможность будущего развития. В-третьих, был необходим универсальный интерфейс отладки, с которым мог бы работать не только конфигуратор 1С:Предприятия, но и Development Tools.
Основные преимущества
Чтобы вы могли представить себе объём выполненных нами изменений, коротко перечислим основные преимущества нового механизма.
Предмет отладки
Начнем с обсуждения такого понятия, как «предмет отладки». Предмет отладки — это контекст встроенного языка, который характеризуется такими параметрами как:
Типы предметов отладки:
Подключение предметов отладки зависит от выбранного протокола отладки и поэтому будет рассмотрено ниже.
Изменение переменных, свойств объектов и асинхронные вычисления выражений
Теперь в процессе отладки вы можете изменять значения любых переменных, которые доступны для записи. Для быстрого просмотра и изменения локальных переменных мы реализовали отдельное окно. А само вычисление выражений, отображаемых отладчиком, теперь выполняется в асинхронном режиме.
Сервер отладки
Сервер отладки обычно запускается конфигуратором (в файловом варианте) или кластером серверов (если кластер запущен в режиме отладки).
Кроме этого сервер отладки может быть запущен вручную — для реализации нетривиальных сценариев отладки.
Сервер отладки (dbgs) находится в каталоге bin, параметр --help покажет информацию об имеющихся параметрах запуска (там все довольно понятно), пример запуска:
C:\Program Files\1cv8\8.3.13.1513\bin\dbgs -a 192.168.0.170 -p 4000
Сервер отладки готов к работе
Отладка на автономном сервере
Настройка отладки для автономного сервера 1С
В самом клиентском приложении также нужно указать сервер отладки (меню Сервис — Параметры…), например так:
Настройка клиентского приложения
После всего можно будет подключить предмет отладки через соответствующее меню (Главное меню — Отладка — Подключение…)
Отладка мобильных приложений
Клиент-серверный вариант
Сервер отладки
Сервер отладки представляет собой отдельное приложение dbgs.exe . Вы можете увидеть его в диспетчере задач.
В параметре ownerPID у него указан идентификатор того приложения, которому принадлежит этот сервер отладки. В данном случае это конфигуратор «1С:Предприятия 8».
При работе в клиент-серверном варианте в параметре ownerPID у него будет указан идентификатор менеджера кластера «1С:Предприятия 8».
Основные функции сервера отладки заключаются в следующем:
он хранит списки предметов отладки, доступных для использования, и списки подключенных предметов отладки;
Идентификация информационных баз
В прежнем механизме для идентификации информационных баз использовалась строка соединения. Такое решение в некоторых случаях вызывало трудности с сопоставлением предметов отладки и конфигуратора. Потому что, во-первых, оно было регистрозависимым, а во-вторых, при отладке некоторых контекстов платформа формировала строку соединения автоматически. И она не всегда совпадала с той, которую вы указывали при подключении информационной базы в конфигураторе. Поиск и исправление таких ситуаций усложняли процесс отладки.
В новом механизме мы избавились от строки соединения. Теперь мы используем идентификатор информационной базы. В файловой информационной базе такой идентификатор генерируется при первом подключении клиентского соединения. В серверной информационной базе в качестве такого идентификатора используется идентификатор регистрации информационной базы в кластере.
Приятным дополнительным моментом здесь является то, что мы пока сохранили в платформе старый механизм отладки (в дальнейшем он может быть исключён). И вы можете пользоваться им при желании, или при необходимости. Так вот старый механизм мы доработали, и теперь он тоже использует идентификатор информационной базы, а не строку соединения.
Архитектура процесса отладки
Архитектура отладки выглядит следующим образом:
В отладке участвуют , и .
Взаимодействие с сервером отладки выполняется по инициативе отладчика и предметов отладки. Для этого организуются дополнительные соединения. Их основное назначение — узнать, не появилась ли для них информация на сервере отладки. И если появилась, то получить эту информацию.
Таким образом, взаимодействие получается одностороннее. Информация все время передается с сервера отладки в отладчик и в предметы отладки.
Отладка в Development Tools
При создании нового механизма отладки мы реализовали новый, универсальный программный интерфейс взаимодействия с ним. Этот интерфейс использует конфигуратор 1С:Предприятия, и этот же интерфейс использует теперь и новая среда разработки 1C:Enterprise Development Tools. Таким образом, все возможности отладки доступны теперь и при работе в Development Tools.
Протокол отладки TCP/IP
При отладке по протоколу TCP/IP отладчик ищет доступные предметы отладки на текущем или указанном компьютере. Для корректной работы отладчика (если конечно речь идет не о файловой базе на одного пользователя) очень рекомендуется нормально настроить сеть — в частности DNS-сервер и доступность отладочных портов (по-умолчанию 1560:1591).
Конфигурационные файлы
Конфигурационный файл можно создать вручную, а можно при помощи утилиты администрирования ibcmd. Например:
ibcmd.exe server config init --dbms=mssqlserver --db-server=192.168.0.15 --db-user=sa --db-pwd=Z123456z --db-name=test01 --name=test03 --base=webAccess
В данном случае текст конфигурационного файла будет выведен прямо в консоль:
Создание конфигурационного файла
Что бы записать все это в файл на диске можно воспользоваться специальным параметром --out :
ibcmd.exe server config init --dbms=mssqlserver --db-server=192.168.0.15 --db-user=sa --db-pwd=Z123456z --db-name=test01 --name=test03 --base=webAccess --out=C:\test.conf
Или стандартными средствами:
ibcmd.exe server config init --dbms=mssqlserver --db-server=192.168.0.15 --db-user=sa --db-pwd=Z123456z --db-name=test01 --name=test03 --base=webAccess > C:\test.conf
Кроме этого утилита ibcmd позволяет выполнять различные операции — создавать базы и загружать в них конфигурации и выгрузки. Для примера загрузим выгрузку (dt) в базу на MSSQL сервере:
ibcmd.exe infobase restore --dbms=mssqlserver --db-server=192.168.0.15 --db-user=sa --db-pwd=Z123456z --db-name=test01 C:\1Cv8.dt
Работа с ibcmd
На этом все, надеюсь эта статья была Вам интересна.
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
(оценок: 4, средняя оценка: 5,00 из 5)
Для запуска отлаживаемого прикладного решения необходима информационная база, однако сам отладчик не нуждается в соединении с ней для получения отлаживаемой конфигурации. Он может получить конфигурацию из любого другого источника, например из XML-файлов, расположенных в каталоге.
Подключение предметов отладки
При запуске отладочных сеансов из конфигуратора, приложения выполняют автоматическое подключение предметов отладки (как клиентского, так и серверного) к серверу отладки.
При этом, как и раньше, у вас есть возможность настроить в конфигураторе автоматическое подключение предметов отладки независимо от того, каким образом они были запущены. Теперь эти возможности стали гораздо богаче.
Во-первых, теперь платформа предлагает вам для выбора все возможные предметы отладки.
А во-вторых, появился ещё один, более тонкий способ настройки. Это использование заранее созданных отборов.
Такие отборы вы можете использовать как при подключении предметов отладки, так и для просмотра доступных предметов отладки.
В отборе, кроме самих предметов отладки, вы можете указать конкретных пользователей, чьи сеансы вас интересуют, а также, если используется разделение данных, указать область информационной базы, которая будет отлаживаться.
Типичные сценарии отладки
С точки зрения прикладного разработчика типичные сценарии отладки не изменились. Единственным значительным отличием является то, что новый механизм отладки нужно включить. Потому что по-умолчанию он выключен.
Несмотря на это имеет смысл познакомиться с тем, что происходит теперь при запуске отладки. Потому что это может быть полезно вам в каких-то нестандартных сценариях работы.
Подключение предметов отладки
При запуске отладочных сеансов приложения выполняют автоматическое подключение предметов отладки (как клиентского, так и серверного) к серверу отладки.
Наряду с этим вы можете настроить автоматическое подключение предметов отладки независимо от того, каким образом они были запущены. Для автоматического подключения предметов отладки вы можете создавать отборы. В них кроме самих предметов отладки вы можете указать конкретных пользователей, чьи сеансы вас интересуют, а также, если используется разделение данных, указать область информационной базы, которая будет отлаживаться.
Включаем отладку на сервере 1С в Windows
Запускаем редактор реестра, выполнив команду regedit (при помощи 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С должна заработать.
Описанные выше операции позволяют включить отладку на сервере по протоколу TCP/IP (это вариант по умолчанию) и в подавляющем большинстве случаев это как раз то, что нужно.
Если используется удаленный сервер отладки, то нужно дополнительно указать адрес этого сервера, порт и пароль (если требуется) добавляя соответствующие параметры — -debugServerAddr, -debugServerPort и -debugServerPwd, например:
Запуск автономного сервера
Автономный сервер устанавливается вместе с кластером серверов 1С и имеет такие же системные требования. После установки в каталоге bin появятся два файла:
- ibsrv.exe — сам автономный сервер;
- ibcmd.exe — утилита администрирования.
Оба приложения имеют справочную систему, которую можно вызвать стандартным, для утилит командной строки, способом:
Команда «help» автономного сервера
Автономный сервер может быть запущен как обычное приложение и как сервис (демон) операционной системы, при этом сам автономный сервер не умеет регистрировать себя в качестве сервиса, для этого нужно воспользоваться средствами ОС.
Параметры для запуска автономного сервера можно указать прямо в командной строке или в специальном конфигурационном файле. При этом командная строка имеет больший приоритет. Если какой-то параметр не указан ни в командной строке ни в конфигурационном файле, то будет использовано значение по умолчанию.
Конфигурационный файл создается специальной командой или вручную (подробнее ниже). Для запуска автономного сервера с учетом конфигурационного файла, необходимо указать расположение этого файла.
Запуск сервера для работы с файловой базой в самом простом случае выглядит так:
На самом деле самый простой вариант будет запуск автономного сервера вообще без параметров, в этом случае сервер поищет файловую базу в каталоге данных по умолчанию.
Запуск сервера для работы с клиент-серверным вариантом базы в самом простом случае выглядит так:
ibsrv --dbms=db-type --db-server=server-name --db-user=pass --db-pwd=pass --db-name=db-name
Запуск автономного сервера 1С
После этого к базу можно посмотреть например через браузер:
База на автономном сервере
Подключение предметов отладки
Для выполнения отладки модуля нужно подключить предмет отладки. Подключенные и доступные для подключения предметы отладки, а также настройки отладчика и автоматического подключения можно увидеть в диалоге «Предметы отладки» (меню «Отладка»->»Подключение»):
Диалог «Предметы отладки»
В список доступных предметов отладки попадают только те из них, которые отвечают следующим требованиям:
- отладчик и предмет отладки имеют одинаковый идентификатор информационной базы;
- в приложении включена возможность отладки (для сервера — см. первую статью серии, для клиентского приложения — соответствующий параметр командной строки либо свойство в диалоге настройки клиентского приложения либо соответствующие указания в конфигурационном файле);
- отсутствуют в списке подключенных предметов отладки.
Кнопка «Настройка…» открывается окно с настройками:
Настройки отладчика
В этом окне можно изменить отладочные порты которые будет сканировать отладчик в поисках подходящих предметов отладки. Кроме этого можно узнать адрес отладчика (строка «Отладчик:»), этот адрес пригодится при различных видах отладки в файловых базах (подробнее об этом в следующей статье).
Некоторые типы предметов отладки остаются доступными для подключения очень непродолжительное время, в этом случае нужно воспользоваться настройками автоматического подключения предметов отладки:
Настройки автоматического подключения
Выбор протокола отладки
Выбрать протокол отладки можно в конфигураторе: Главное меню->Сервис->Параметры->вкладка «Отладка»:
Выбор протокола отладки
Группа «Сервер отладки» позволяет указать, каким сервером отладки нужно воспользоваться:
- Использовать локальный сервер отладки — вариант в основном для файловых информационных баз, в дополнительных полях можно указать адрес сетевой карты (если их несколько), а также один или несколько диапазонов портов которые будут использоваться для отладки, например: 1560:1591, 7700-8000;
- Использовать удаленный сервер отладки — конфигуратор попытается подключиться к удаленному серверу отладки по указанному адресу и порту;
- Использовать сервер отладки кластера — используется сервер отладки кластера серверов, кластер серверов должен быть запущен в отладочном режиме.
Группа «Имя информационной базы» позволяет указать имя информационной базы, под которым отладчик зарегистрируется на сервере отладки. Если доступ к серверу отладки защищен паролем, то этот пароль можно указать в группе «Доступ».
Подключение предметов отладки
Подключение предметов отладки
Из списка доступных предметов отладки исключаются уже подключенные и не соответствующие отбору предметы отладки. Отбор можно установить в правой верхней части окна:
Отбор предметов отладки
В окне настроек отладчика можно узнать адрес сервера отладки и имя информационной базы:
Для настройки автоматического подключения предметов отладки существует специальный диалог:
В левой части диалога можно указать типы предметов отладки, которые подлежат автоматическому подключению, а в правой — дополнительные отборы предметов отладки.
На этом все, надеюсь, что эта статья была Вам полезна. Также напомню про другие статьи серии об отладке в 1С, ссылки на них можно найти в начале этой статьи.
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
(оценок: 1, средняя оценка: 5,00 из 5)
Включаем отладку на сервере 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)
Кроме этого отмечу, что эта статья входит в небольшую серию статей об отладке в 1С:
Современная архитектура отладки
Особенностью прежнего механизма отладки была необходимость подключения к информационной базе с помощью конфигуратора. В результате разработчик, выполняющий отладку, имел полный доступ ко всем административным функциям.
Новый механизм отладки перестал нуждаться в соединении с отлаживаемой информационной базой. Главное, что требуется теперь отладчику, это такая же конфигурация, которая работает у клиентов. Для её получения нет необходимости подключаться к отлаживаемой информационной базе. Вы можете загрузить её, например, из файла.
Изменение переменных, свойств объектов и асинхронные вычисления выражений
Новый механизм отладки позволяет вам изменять значения переменных в процессе отладки. В прежнем механизме такая возможность отсутствовала.
Для удобного просмотра и изменения локальных переменных, что представляется наиболее частой задачей, мы реализовали окно «Локальные переменные».
Внешне оно очень похоже на привычное вам «Табло». Но, во-первых, это окно уже автоматически заполнено всеми локальными переменными, а во-вторых, значения переменных вы можете теперь менять.
Значения примитивных типов вы можете изменить прямо в ячейке «Значение»:
А для изменения других значений вы можете воспользоваться окном ввода выражений:
Приятным бонусом является то, что в этом окне полностью функционирует контекстная подсказка.
Точно таким же образом вы можете изменять и значения любых (не только локальных) переменных, свойств, доступных для записи. В окне вычисления выражений (которое вызывается командой Shift+F9) вы можете менять значения переменных как в ячейке «Значение», так и с помощью отдельного диалога.
Кстати, само вычисление выражений теперь выполняется асинхронно. Это означает, что конфигуратор заказывает вычисление предмета отладки. И некоторое время это вычисление ожидается на сервере. Если вычисление выполнено, то результаты сразу поступают в конфигуратор. Если вычисление выполняется продолжительное время, то результаты этих вычислений асинхронно приходят в конфигуратор позже. Такой подход позволяет вам не ожидать длительных вычислений в конфигураторе, и продолжить свою работу.
Эта статья рассказывает о том, как включить отладку на сервере 1С 8.1, 8.2 и 8.3 в операционных системах Windows и Ubuntu.
Кроме этого отмечу, что эта статья входит в небольшую серию статей об отладке в 1С:
- Как включить отладку на сервере 1С
Общая информация
Разумеется, автономный сервер имеет некоторые ограничения. В частности он НЕ поддерживает следующие возможности:
Архитектура процесса отладки
Новая архитектура отладки выглядит следующим образом:
В отладке участвуют отладчик, предметы отладки и новый элемент - сервер отладки.
Взаимодействие с сервером отладки выполняется по инициативе отладчика и предметов отладки. Для этого организуются дополнительные соединения. Их основное назначение - узнать, не появилась ли для них информация на сервере отладки. И если появилась, получить эту информацию.
Таким образом, взаимодействие получается одностороннее. Информация всё время передаётся с сервера отладки в отладчик, и в предметы отладки.
Файловый вариант
Читайте также: