Не работает отладка в расширении 1с

Обновлено: 02.07.2024


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

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

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

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

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

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

Не работает отладка на удаленном компьютере

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

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

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

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

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

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

Не работает отладка фоновых сеансов

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

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

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


Форма подключения и настройки отладки в Конфигураторе 1С

Форма подключения и настройки отладки в Конфигураторе 1С

В принципе, на этом вся настройка может быть закончена, можно выбрать нужный сеанс и подключиться к нему для отладки. Однако, часто бывает что мы увидим пустой список предметов отладки. Если это ваш случай, то читаем дальше.

Итак, при настройке отладки в конфигураторе 1С надо учесть два момента.

Первое, если вы запустили Конфигуратор не на сервере 1С, то для поиска предметов отладки надо указать имя или IP адрес сервера 1С (если хотим отлаживать не серверный, а клиентский сеанс другого пользователя, то соответственно клиентского компьютера). Для этого ставим флажок «Искать предметы отладки на удалённом компьютере» и рядом в поле вводим имя компьютера, например – srv1c.

Настройка поиска отладки на удаленном компьютере в Конфигураторе 1С

Второе. Бывают случаи, когда сервер 1С (тестовый к примеру) запущен не на типовых портах по умолчанию из диапазона 1560-1591, а, например, на портах 1660-1691. Тогда надо по кнопке «Настройка» в форме настройки отладчика указать тот диапазон портов для поиска предметов отладки который был задан в строке запуска службы сервера 1С. В моем случае ставим диапазон 1560-1900, это потому что у меня есть еще запущены тестовые сервера 1С на диапазонах портов 1760-1791 и 1860-1891. После этого нажимаем в правом верхнем углу значок «Обновить» и видим появившиеся предметы отладки. Видно что у серверного сеанса порт указан 1660, это как раз тот сеанс который подключен к тестовому серверу 1С, запущенному на диапазоне портов 1660-1691.

Настройка портов для поиска предметов отладки в Конфигураторе 1С

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

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

Точка останова при отладке в строке кода 1С

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

Доступ к настройкам параметров в клиентском приложении 1С

Настройка параметров отладки в клиентском приложении 1С

После этой настройки в конфигураторе обновляем список доступных предметов отладки, если все сделано правильно, там должен появится данный клиентский сеанс.


Теперь нам не надо вручную искать предмет отладки и нажимать кнопку «Подключить». Система сама подключиться к запущенному сеансу и сработает точка останова поставленная на строке кода.



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

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

Так как же включить режим отладки на сервере 1С? Очень просто. Необходимо всего лишь прописать ключ -debug в строке запуска службы сервера 1С 8.3 и перезапустить данную службу. Это конечно если сервер установлен как служба, если же он запускается как самостоятельное приложение, то и указанный ключ необходимо прописать в строке запуска этого приложения. Правда такой режим запуска сервере 1С очень редкое явление и на практике встречается не часто, поэтому рассматривать его не будем.

Для того чтобы изменить строку запуска службы сервера 1С придётся зайти в реестр Windows. Для редактирования реестра используется программа regedit. Проще всего найти и запустить ее можно через быстрый доступ по комбинации клавиш Win+R.

Консоль запуска программ в Windows

В поле вводим regedit, нажимаем ОК, на вопрос системы безопасности отвечаем ДА и запускаем программу. Открываем ветку HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ services и там ищем что то похожее на 1C:Enterprise 8.3 Server Agent. Имя может отличаться в зависимости от версии установленного сервера 1С.

Включаем отладку сервера 1С 8.3 в реестре Windows

Настройка службы сервера 1С 8.3 в реестре Windows

Заходим в это раздел и находим параметр ImagePath. Открываем его на редактирование двойным кликом мыши. В поле «Значение» в конце добавляем ключ -debug и сохраняем.

Ключ -debug в строке запуска сервера 1С в реестре

Ключ -debug в строке запуска службы сервера 1С

После проверки перезапускаем службу. После этого можно проверять работу отладчика в конфигураторе 1С. Здесь можно почитать как настроить отладку в конфигураторе 1С. Если после включения отладки на сервере 1С, у вас все равно не получилось подключиться к серверным сеансам, смотрим возможные причины здесь.

НЕ работают точки останова. Что есть они, что их нет. Программа на них не останавливается. Кэш чистил - не помогло. База на SQL сервере.
Запускаю в режиме отладки из конфигуратора.
Подскажите пожалуйста в чем может быть проблема?

Добавлено через 2 минуты
Из конфигуратора под толстым клиентом тоже пробовал запускать - не помогло.
Такое ощущение что точек останова нет вообще. Хотя я их ставлю.

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Не работают точки останова
народ, проблема такова: не работают точки останова в той области текста программы где они должны.


Не работают точки останова
Здравствуйте, столкнулся с такой проблемой, что непонятно с чего вдруг перестали работать точки.

Не работают точки останова
Работаю с ВПФ, в файловом режиме. Игнорируются точки останова, вообще. В гугле рассказывают про.

Не работают точки останова
Делаю сайт на SilverLight почти всю работу сделал оставалось сделать пару моментов и тут вдруг при.

точки не работают НаСервере и НаКлиенте, или только НаСервере? Нигде не работают. Ни во внешних обработках и ни в модулях конфигурации. Без разницы НаКлиенте или НаСервере. Их просто как будто бы и нет. Код ошибки: 20025787
Описание:
В файловом варианте информационной базы после останова отладки в фоновом задании и продолжении отладки отладка тонкого клиента не работает - не работают точки останова, пошаговая отладка и т.д. Не твое, но похоже шибко.
Фоновые не отлаживал случаем? Ребут службы сервера 1с результатов не дает? А сейчас на другом сервере перезапустил службу 1с сервера. И решил проверить работу точек останова в базе Бухгалтерия предприятия 3.0.37.38 на платформе 8.3.5.1443. Там точки останова работают только в функциях и процедурах НаКлиенте. НаСервере точки останова не работают. Может это особенность управляемых форм? Но вроде бы раньше такого я не наблюдал.
На сервере с торговлей нет возможности службу 1С перезапустить. Я теперь совсем в замешательстве. чтоб на стороне сервера отладку разрешить - надо службу запускать с параметром отладки "-debug" А как ее с таким параметром запустить? Через Службы остановить службу и указать параметр запуска -debug?

Для 1С 8.2 (для 8.3 отличаются только пути)
Как установить режим отладки на стороне сервера в клиент-серверном режиме работы

Читайте также: