Особенности отладки на сервере (1С, 8.1, Отладчик)

Вопрос Особенности отладки на сервере
Ответ
Настройка приложения для работы в отладочном режиме, отладка клиентского приложения

jk3

04.06.08 — 14:43
Конфигуратор -> Отладка -> Подключение: кнопка Автоматическое подключение.
Автоматически подключать на сервере:

- клиентские и внешние соединения
- web-сервисы
- фоновые задания

Кто-нибудь юзал? Для чего оно нужно?

shuhard

1 — 04.06.08 — 14:45
(0) фоновые — гарная штука для отладки регламентированных заданий, юзал. 2
jk3

2 — 04.06.08 — 14:47
(1) а как этим пользоваться? 3
shuhard

3 — 04.06.08 — 14:57
(2) прям так и пользуйся — поставь сервак в дебаг-режим + засади точку останова в фоновое задание и будет счастье.
jk3

4 — 04.06.08 — 15:14
Т.е. если галочки не стоят, то эти возможности недоступны?
Не очень понятно что значит перевести сервак в дебаг-режим. Это делается где-то в консоли «Cерверы 1С Предприятия» ?
5
shuhard

5 — 04.06.08 — 15:20
(4)[Не очень понятно что значит перевести сервак в дебаг-режим]
file:///C:/Program%20Files/1cv81/AddDoc/RU/V8AddDoc81.htm

Настройка приложения для работы в отладочном режиме
Отладка клиентского приложенияДля установки отладочного режима можно использовать следующие варианты запуска:·      в режиме «Конфигуратор» в форме настроек (открыть с помощью «Сервис — Параметры») на закладке «Запуск 1С:Предприятия» установить флажок «Устанавливать режим разрешения отладки», далее выполнить подключение предмета отладки; также можно установить флажок «Начинать отладку при запуске», в этом случае при запуске 1С:Предприятия подключение будет выполнено автоматически;·      открыть информационную базу в режиме «1С:Предприятие» с ключом командной строки /Debug (отладочный режим);·      если запущено клиентское приложение, то в форме настроек (открыть с помощью «Сервис — Параметры» закладке «Системные») установить отладочный режим (установить флажок «Отладка разрешена»). Следует иметь в виду, что после применения настроек снять установку флажка нельзя;·      если режим «1С:Предприятие» уже запущен и требуется установить возможность отладки только для следующего запуска, следует в форме настроек (открыть с помощью «Сервис — Параметры») на закладке «Системные» установить флажок «Устанавливать режим разрешения отладки при запуске».
Отладка кода на сервереДля установки отладочного режима следует запустить сервер 1С:Предприятия с ключом командной строки /Debug (ragent.exe /debug).
Отладка внешнего соединения и web-сервисовДля указания внешнему соединению или web-сервису необходимости запуска в отладочном режиме используют настройки, размещенные в xml-файлах (comcntrcfg.xml и webservicecfg.xml соответственно), которые должны располагаться в подкаталоге CONF каталога исполняемого файла 1С:Предприятия 8.1 (BIN). Если файл не найден, приложение открывается в обычном режиме.

Пример файла comcntrcfg.xml:

<config xmlns="http://v8.1c.ru/v8/comcntrcfg"> 

 <debugconfig debug="true"

 debuggerURL="tcp://localhost:1560"/> 

</config>

Атрибут debug=»true» указывает необходимость запуска в отладочном режиме

Атрибут debuggerURL=»tcp://localhost:1560″ указывает адрес отладчика, к которому нужно автоматически подключиться для отладки, где «localhost» указывает на поиск на на локальном компьютере, «1560» – номер IP-порта. Если порт не указан, то будут проверяться все порты в диапазоне портов 1560 – 1591; указание «tcp://» эквивалентно «tcp://localhost». Если адрес отладчика не указан, в процессе исполнения кода на встроенном языке отладка производиться не будет.
Выполнение отладки

Чтобы выполнить отладку модуля нужно, чтобы предмет отладки был подключен для отладки.
Управление подключением предметов отладки

Для управления подключением выберите пункт «Отладка — Подключение». На экран выводится окно для выбора предмета отладки. В списке доступных предметов отладки содержатся предметы, с которыми допустимо выполнение отладки. В список попадают только те предметы отладки, которые относятся к отлаживаемой информационной базе и для которых определена возможность отладки.

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

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

Если флажок «Искать предметы отладки на удаленном компьютере» установлен, то в поле, расположенном справа от флажка, следует ввести имя компьютера (или его сетевой адрес) или выбрать имя из ранее вводимых имен. При этом в список доступных предметов отладки будут добавлены предметы отладки, найденные на удаленном компьютере. Список подключенных предметов отладки будет содержать те предметы отладки, которые уже подключены к отладчику.

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

Для исключения предмета отладки укажите его в списке подключенных и нажмите кнопку «Отключить». В окне подключения это отображается переносом предмета отладки из списка подключенных в список доступных предметов и к нему можно повторно подключиться. При этом точки останова, установленные в отключенных предметах отладки, не будут «срабатывать» при прохождении через них выполнения.

Для закрытия предмета отладки нажмите кнопку «Завершить», для останова в месте выполнения — кнопку «Остановить».

Для открытия диалога настройки диапазона следует нажать кнопку «Настройки». Диапазон определяет границы, в рамках которых Отладчик ищет предметы отладки на текущем или указанном компьютере.

В поле «Отладчик» диалога содержатся настройки текущего отладчика, которые можно использовать, например, в командной строке при запуске клиентского приложения в качестве параметра ключа командной строки /DebuggerURL или в xml-файле с настройками отладки для внешнего соединения или web-сервиса.

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

Если все порты для подключения в стандартном диапазоне заняты, существует возможность указать дополнительный диапазон. Этот диапазон настраивается в файле debugcfg.xml. который должен располагаться в подкаталоге CONF каталога BIN. Если файл не найден, то для отладки используются порты из стандартного диапазона (1560-1591). Предметы отладки на сервере используют те же порты, что и процессы сервера: rmngr и rphost. Указания дополнительных диапазонов портов для предметов отладки на сервере не требуется.

Пример конфигурационного файла:

<config xmlns="http://v8.1c.ru/v8/debugcfg">
 <debugports range="1540:1550"/>
</config>

Атрибут debugports range содержит дополнительный диапазон портов, используемых при отладке.

Для поиска доступных предметов отладки на удаленном компьютере в настройках отладчика следует установить диапазон портов сканирования, содержащий диапазон, указанный в файле debugcfg.xml. Файл должен находиться в подкаталоге CONF каталога BIN удаленного компьютера.

jk3

6 — 04.06.08 — 15:41
Спасибо.
Ключевой момент — запуск ragent.exe /debug.
Вот почему у меня ничего не получалось!
А чтобы поменять параметр запуска обязательно нужно в реестр лезть или можно как-нибудь попроще?

взято отсюда
См. также «Проблема отладки на сервере»

3 thoughts on “Особенности отладки на сервере (1С, 8.1, Отладчик)

  1. Проблема номер 1.
    Для того, чтобы запустить на сервере 1С:Предприятия отладочный режим, необходимо остановить работу и перезапустить предприятие с новым параметром.
    Проблема номер 2.
    Если этот режим оставить (чтобы не перезапускать каждый раз, когда потребуется отладочный режим), то работа пользователей с базой будет приторможена.

    Поэтому этот выход на самом деле не выход.
    Как в итоге проще: когда нужно расследовать какую-то конкретную ситуацию, в онлайн режиме делается копия базы средствами SQL (для этого пользователей выгонять не нужно).
    Далее эта копия разворачивается «в сторонке». Запускается. Делается из нее выгрузка. Создается локальная копия. В локальной копии разворачивается сохраненная толко что выгрузка. Все. Можно отлаживать.

  2. на 1-й комментарий: а зачем же выгружать? настроить репликацию базы и работать там самому.

  3. Реплика базы (реплицированная копия) — это все равно SQL-база, т.е. клиент-серверная. Смысл не в том, что нам мешают пользователи, а в том, что в такой базе отладчик в принципе не может остановиться в модулях, исполняемых на сервере.
    Для доступа отладчиком в те места, которые в клиент-серверном варианте исполняются на сервере, нам нужно получить из текущего состояния SQL-базы файловую версию. Поэтому сначала делается копия (можно из реплики базы), затем копия выгружается в dt и затем загружается из этого dt в новую базу, уже файловом варианте.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.