Вопрос Особенности отладки на сервере
Ответ Настройка приложения для работы в отладочном режиме, отладка клиентского приложения
jk3
04.06.08 — 14:43
|
|
||
shuhard
1 — 04.06.08 — 14:45
|
|
||
jk3
2 — 04.06.08 — 14:47
|
|
||
shuhard
3 — 04.06.08 — 14:57
|
(2) прям так и пользуйся — поставь сервак в дебаг-режим + засади точку останова в фоновое задание и будет счастье. | ||
jk3
4 — 04.06.08 — 15:14
|
|
||
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: Атрибут 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. Указания дополнительных диапазонов портов для предметов отладки на сервере не требуется. Пример конфигурационного файла: Атрибут debugports range содержит дополнительный диапазон портов, используемых при отладке. Для поиска доступных предметов отладки на удаленном компьютере в настройках отладчика следует установить диапазон портов сканирования, содержащий диапазон, указанный в файле debugcfg.xml. Файл должен находиться в подкаталоге CONF каталога BIN удаленного компьютера. |
||
jk3
6 — 04.06.08 — 15:41
|
Спасибо. Ключевой момент — запуск ragent.exe /debug. Вот почему у меня ничего не получалось! А чтобы поменять параметр запуска обязательно нужно в реестр лезть или можно как-нибудь попроще? |
взято отсюда
См. также «Проблема отладки на сервере»
Проблема номер 1.
Для того, чтобы запустить на сервере 1С:Предприятия отладочный режим, необходимо остановить работу и перезапустить предприятие с новым параметром.
Проблема номер 2.
Если этот режим оставить (чтобы не перезапускать каждый раз, когда потребуется отладочный режим), то работа пользователей с базой будет приторможена.
Поэтому этот выход на самом деле не выход.
Как в итоге проще: когда нужно расследовать какую-то конкретную ситуацию, в онлайн режиме делается копия базы средствами SQL (для этого пользователей выгонять не нужно).
Далее эта копия разворачивается «в сторонке». Запускается. Делается из нее выгрузка. Создается локальная копия. В локальной копии разворачивается сохраненная толко что выгрузка. Все. Можно отлаживать.
на 1-й комментарий: а зачем же выгружать? настроить репликацию базы и работать там самому.
Реплика базы (реплицированная копия) — это все равно SQL-база, т.е. клиент-серверная. Смысл не в том, что нам мешают пользователи, а в том, что в такой базе отладчик в принципе не может остановиться в модулях, исполняемых на сервере.
Для доступа отладчиком в те места, которые в клиент-серверном варианте исполняются на сервере, нам нужно получить из текущего состояния SQL-базы файловую версию. Поэтому сначала делается копия (можно из реплики базы), затем копия выгружается в dt и затем загружается из этого dt в новую базу, уже файловом варианте.