- Не работает отладка 1С
- 1. В списке предметов отладки не видны серверные сеансы
- 2. В списке предметов отладки не видны ни клиентские ни серверные сеансы.
- 3. В списке предметов отладки не видны клиентские сеансы.
- 4. Предмет отладки виден в конфигураторе и подключается, но точка останова все равно не срабатывает на строке кода.
- 5. Программный код выполняется в сеансе фонового задания.
- 6. Программный код выполняется в сеансе web-сервиса или http-сервиса.
- Подводим итоги
- Что делать, если не работает отладка на сервере 1С
- Куда смотрим и что проверяем
- Когда перестает работать отладчик
- Специальные предложения
- См. также
- Восстановление работоспособности файловой базы. 3. Конфигурация Промо
- Не работает отладчик на файловой базе
- Не работает отладчик в файловой базе
Не работает отладка 1С
Разберем основные случаи когда и почему не работает отладка 1С.
1. В списке предметов отладки не видны серверные сеансы
Возможно сервер 1С запущен не в режиме отладки. Для того чтобы включить режим отладки, службу сервера 1С нужно запустить с ключом -debug. Пошаговый разбор как это сделать тут.
2. В списке предметов отладки не видны ни клиентские ни серверные сеансы.
Еще одной причиной отсутствия предметов отладки в списке является то, что предметы отладки находится не на том компьютере где запущен отладчик 1С. Актуально как для серверных так и для клиентских сеансов. Для решения проблемы обычно достаточно указать имя удаленного компьютера для поиска предметов отладки и обновить список.
Если и после этого список пустой, то нужно вбить вместо имени IP-адрес удалённого компьютера. В случае если это помогло, то рекомендуется прописать привязки имен и IP-адресов компьютеров в файле hosts. Если и это не помогло то необходимо проверить настройку фаервола, разрешены ли на сервере 1С (или удаленном клиенте) входящие соединения с компьютера где запущен отладчик на порты 1560-1591.
3. В списке предметов отладки не видны клиентские сеансы.
Причина как правил в том, что не разрешена отладка клиентского приложения. Для разрешения отладки клиентского сеанса достаточно в настройках программы в режиме 1С Предприятие указать в параметре «Отладка в текущем сеансе» — Разрешена TCP/IP.
4. Предмет отладки виден в конфигураторе и подключается, но точка останова все равно не срабатывает на строке кода.
Данная проблема актуальна при отладке по протоколу TCP. Причина в том что отладчик не может принимать входящие соединение из-за того что брандмауер или фаервол блокируют сетевое взаимодействие между отладчиком и предметом отладки. Тут нужно понимать, что отладчик не только устанавливает исходящее соединение с предметом отладки, но также должен иметь возможность принимать входящее соединение. Проблема решается отключением фаервола на компьютере где запущен отладчик либо открытием входящих соединений на портах 1560-1591 для исполняемого файла 1cv8.exe.
5. Программный код выполняется в сеансе фонового задания.
В типовых конфигурациях 1С широко использует запуск длительных процедур в фоновом режиме. Для этого на сервере запускается отдельный фоновый сеанс помимо основного серверного сеанса пользователя. Проблема решается включением автоматического подключения отладчика к фоновым сеансам. После этого как правило отладка начинает работать, если нет проблем с фаерволом описанных выше.
6. Программный код выполняется в сеансе web-сервиса или http-сервиса.
Как правило сеанс подключения к web-сервису http-сервису существует непродолжительное время и вручную подключиться к нему проблематично. Здесь так же достаточно включить автоматическое подключение к таким сеансам и отладчик сам будет находить и подключать предметы отладки, ваша задача только поставить точку останова в коде.
Подводим итоги
Как видим основные причины неработающей отладки 1С легко решаются. Пожалуй самой трудно-диагностируемой проблемой является работающий в сети фаервол, который может блокировать соединения между отладчиком и предметом отладки. В самом простом случае достаточно открыть порты для подключения как описано выше. В более сложном случае, когда отладчик и предмет отладки разделены NAT, может потребоваться проброс портов. Самый крайний случай когда из-за политик безопасности прямое сетевой взаимодействие по протоколу TCP между отладчиком и предметом отладки не возможно, следует рассмотреть вариант отладки по протоколу HTTP.
Напоследок стоит отметить, что как правило отладка производиться на тестовом сервере 1С, который запускается на портах отличных от типового диапазона 1560-1561. Поэтому, все изложенное выше в части номеров портов, следует рассматривать в контексте ваших реально используемых диапазонов портов.
Источник
Что делать, если не работает отладка на сервере 1С
Вопрос: «Что делать, если стоят точки останова, при этом платформа выполняет проведение без остановки? Куда смотреть?».
Причина: по умолчанию отладка на сервере выключена.
Куда смотрим и что проверяем
1. Добавьте ключ «-debug» в строке запуска службы «Агент сервера 1С:Предприятия 8.3».
Например, по умолчанию строка такая (условно):
«C:\Program Files\1cv8\8.x.xx.xxxx\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files\1cv8\srvinfo»
Запуск с опцией отладки:
«C:\Program Files\1cv8\8.x.xx.xxxx\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -debug -d «C:\Program Files\1cv8\srvinfo»
Условия запуска меняются в реестре — через строковый параметр «ImagePath». Раздел находится здесь в зависимости от разрядности:
- HKLM\SYSTEM\CurrentControlSet\services\1C:Enterprise 8.3 Server Agent
- HKLM\SYSTEM\CurrentControlSet\services\1C:Enterprise 8.3 Server Agent (x86-64)
Для активации потребуется рестарт службы либо перезагрузка сервера.
2. В меню «Сервис — Параметры — Запуск 1С:Предприятия — Дополнительные» включите опции:
- «Устанавливать режим разрешения отладки»;
- «Начинать отладку при запуске»
3. Через Конфигуратор откройте «Отладка — Подключение» — какие сеансы у вас показываются в предметах отладки; поставьте настройки в окне «Автоматическое подключение».
Например, автоматически подключать «Клиентские и внешние соединения на сервере» или «Фоновые задания» в зависимости от задачи.
4. При использовании отладки по протоколу TCP/IP возможно потребуется настройка правил брандмауэра.
Проверьте эти моменты и, скорее всего, отладка в серверном режиме у вас заработает.
Вам надо по-другому работать с наличкой. Кого прижмут налоговики и банки? Забирайте запись, пожалуй, лучшего вебинара «Клерка»: «Как теперь будут контролировать наличку. 115-ФЗ в 2021 году ».
Только до завтра можно забрать запись со скидкой 20%. Программу вебинара смотрите здесь
Источник
Когда перестает работать отладчик
Преамбула
Данная статья содержит основные моменты из моей публикации. Рассчитываю, что эта информация поможет оказавшимся в подобной ситуации решить проблему. Или хотя бы послужит примером диагностики в конкретной ситуации.
Начальное состояние
Периодические отваливается отладка. Основные подозреваемые — брандмауэр и антивирус выключены.
Анализ
Текущий порт отлачика tcp://srv1c:1562.
netstat -naot 1 | find «1562» при запуске сеанса отладки показывает наличие состояний SYN_SENT.
Настроен полный технологический журнал, поскольку заранее неизвестны события, содержащие необходимую информацию. Для сбора данных по клиентским сеансам моего пользователя файл настроек расположен в %UserProfile%\AppData\Local\1C\1cv8\conf
Значимые события технологического журнала клиента, собранного с момента запуска сеанса отладки до момента прекращения появления состояний SYN_SENT:
Ошибка 10048(0x00002740) является причиной, 10060(0x0000274C) — следствие.
При соединение по TCP/IP открывается сокет и выбирается динамический порт. По умолчанию, диапазон динамических портов от 1024 по 5000. Увеличиваем до максимума.
Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Value: MaxUserPort
Data Type: REG_DWORD
Range: 5000 to 65534
Default value: 5000
Recommended value: 65534
Когда соединение TCP закрывается, то сокет сразу не освобождается, а переходит в статус TIME_WAIT и ресурсы освободятся только через определённое время. По умолчанию, только через 4 минуты. Снизим это время до минимума — 30 секунд.
Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Value: TcpTimedWaitDelay
Data Type: REG_DWORD
Range: 30 to 300
Default value: 240
Recommended value: 30
Отключение автотюнинга tcp протокола:
netsh int tcp set global autotuninglevel=disabled
Результат
Мониторинг сервера в течении нескольких дней показал, что после проведенных изменений даже при большом количестве сессий 1С отладка перестала отваливаться.
Специальные предложения
(8) я нашел следующие разъяснения насчет диапазонов портов:
1. Номер порта выделяется для каждой сетевой службы, чтоб они работали независимо;
2. Порт назначается временно и только на время соединения. После завершения сеанса соединения порт снова становится свободен для использования, хотя в большинстве реализаций просто происходит увеличение на единицу номера последнего использованного порта вплоть до исчерпания всего диапазона эфемерных портов.
3. Номер порта — это абстракция, относящаяся к транспортному уровню (TCP & UDP), более низкие уровни (IP, ICMP, IGMP) — не имеют такой абстракции;
4. «Размещаются» порты в стеке TCP/IP, т.е. в реализованной в составе ОС части, т.е. программисту это не важно;
5. Порты для UDP & TCP — совершенно разные пространства, т.е. 21 порт UDP и 21 порт TCP — это 2 совершенно разные сущности.
6. Наконец, порты TCP/UDP подразделяются на «хорошо известные порты» (номера 0 — 1023), «динамические» (из диапазона 1024 — 49151), и «эфемерные» (49152 — 65535). Хорошо известные порты приписаны стандартным службам: telnet, ftp etc. и использоваться не должны (для других целей). Динамические порты — должны регистрироваться в международном комитете для использования новыми службами широкого применения. Эфемерные порты — это порты «оставленные» разработчикам для использования в своих частных задачах (где попало. ). Никаких гарантий об неконфликтности эфемерных портов в условиях эксплуатации, естественно, не даётся.
В этом контексте использование «эфемерного» диапазона не должно привести к каким то проблемам.
Можно более подробно разобрать, что вас смущает. Полагаю, полезно будет для всех.
Применил параметры реестра, всё равно отладка не работает. Отлаживаю вебсервис (на клиенте и сервере отладка работает). На локальном компьютере iis и конфигуратор, на сервере сервер 1с и sql. Фаерволы, антивирусы отключены. В публикации прописал адрес отладки (в разных вариациях пробовал) из настроек отладки. Автоматическое подключение вебсервисов стоит. В тех журнале на клиенте такое (см скрин). Делал netsh winsock reset — не помогло. Есть какие-то мысли?
P.S. Отладка вчера работала, а сегодня отвалилась. Перезагружал и сервер и свою машину по нескольку раз, ничего не помогает.
Текущий порт отлачика tcp://srv1c:1562.
Как поменять текущий порт отладчика ?
Обновление 13.06.17 10:03
См. также
Восстановление работоспособности файловой базы. 3. Конфигурация Промо
Восстановление работоспособности разрушенной файловой базы. Этап 3. Лечим конфигурацию.
Источник
Не работает отладчик на файловой базе
Добрый день,
подскажите в чем может быть проблема: не работает отладчик на файловой базе.
платформа 1С 8.2.16.
Что я делаю?
1. Запускаю конфигуратор.
2. Запускаю отладку — запускается предприятие, но оно не привязано к конфигуратору никак.
3. второй раз запустить предприятие из конфигуратора не получается — сколько угодно нажимай но ничего не происходит.
Стоит DrWeb, но в нем прописано в файерволе что 1Су разрешено все.
Ума не приложу в чем дело. так неудобно — просто до жути.
(7) AlexO, ух ты, вот это высший пилотаж извращений с 1С:) Браво!
П.С. А в инструментах разработчика есть такая кнопочка, как вызов конфигуратора из режима предприятия..Я все думала, зачем она нужна. оказалось вот зачем:)
(16) AlexO, на днях столкнулся с такой же проблемой как у ТС.
База файловая, подключена к хранилищу.
Была создана управляемая форма (конфа на обычных формах) и запущены пару раз обработки обмена с сайтом и после этого появилась проблема с отладчиком (возможно это не взаимосвязанные вещи).
Опробовал ваш метод из (7).
Что было проделано:
1. Сделал обработку с кодом:
2. Запустил ее в режиме предприятия, нажал кнопку конфигуратор
3. Открылся конфигуратор и отладка-подключение
В списке пусто. Также чистил кэш и отключал симантик, браундмауер не включен.
Отключение и подключение к хранилищу не помогло.
Протестировал на этом же ПК другую базу. Баг и там проявился. Наверно дело либо в софте, либо в ПК.
Источник
Не работает отладчик в файловой базе
Добрый день,
Подскажите в чем может быть проблема: не работает отладчик на файловой базе.
Платформа 1С 8.3.6.2237. Конфигурация УТ 10.3.12.3.
Что я делаю?
1. Запускаю конфигуратор.
2. Запускаю отладку (F5 или ► ) — запускается сеанс работы 1С:Предприятие, но он не привязано к конфигуратору никак. Т.е. кнопка ► не превращается как обычно в листик
3. Второй раз запустить предприятие из конфигуратора не получается — сколько угодно нажимаю по ► но ничего не происходит.
Попытки использовать обработку с ошибкой в коде, чтобы вызвать переход в конфигуратор ничем удачным кроме ошибки не увенчались.
Стоял KIS EndPoint — удалили. Брэндмауэр Windows 7 отключен. На всякий случай дополнительно открыты порты отладки 1560-1591 по TCP и UDP дополнительно через настройки брэндмауэра. Порты проверялись — ничем другим не заняты, как 1С. Платформа переустанавливалсь
Ума не приложу в чем дело. Тем более что отладка этой базы на другом рабочем месте запускается нормально. А мне нужно на конкретно том рабочем месте, где не работает, где к 1С подключено торговое оборудование, чтобы провести замеры производительности в режиме отладки.
(3), Как уже писал не смотря на то, что вроде экземпляр отладки запускается. Но т.к. он не привязывается к конфигуратору, то в «Предметах отладки» пусто. Хоть сколько пытаюсь обновить список.
При перезапуске ставлю. Если и удается повторно запустить такую «мнимую» отладку (писал, что «сколько угодно нажимаю по ► но ничего не происходит») так только после того, как в конфигурацию внесу изменения. Но проблема остается.
Еще раз пропишу: при запуске самой отладки стоит первая галка, но отладка все-же не видна из конфигуратора. Если ставлю галочку «при запуске», то после перезапуска первая галка стоит, а вторая отжата.
(36) Александр, я посматриваю данную ветку, чувствуется мне что с портами что-то, по этому и вкладки нет в конфигураторе, видимо 1С проверяет наличие (открытость) порта и в соответствие с этим уже отображает/скрывает вкладку «Отладка».
Покопайте в этом направлении, друзей-сисьобнимов поспрашивайте (про работу с портами), жаль что моих познаний в этом темном лесе нет от слова совсем. 🙁
(14) Складывается ощущение, что исходное сообщение читается не внимательно.
Написано было: Стоял KIS EndPoint — удалили. Брэндмауэр Windows 7 отключен. На всякий случай дополнительно открыты порты отладки 1560-1591 по TCP и UDP дополнительно через настройки брэндмауэра. Порты проверялись — ничем другим не заняты, как 1С.
Т.е. если удалили KIS, то проверять у него нечего. Порты прямо через командную строку мониторил, целый день убил на то, чтобы заниматься этими админскими делами. Порты занимает 1С.
Плюсом по ходу в релизе 8.3.6.2237 закладка отладка отсутствует в параметрах
(19) а я и не туплю
Вот, смотрим как Вы указываете.
И что мне тут смотреть. Про это уже выше написано.
Кто тупит?
(14) единственное на что меня подтолкнул данный скриншот, так это на то, что похоже в релизе 8.3.6.2237 нет закладки «Отладка», а вот на своей ПК на релизе 8.3.9 эта вкладка есть.
Походу пока еще единственный возникший вариант — поставить более новую версию 1С.
(6) жаль что не сталкивались. Я тут на Infostarte нашел подобный пост от 2013 года http://forum.infostart.ru/forum9/topic78482/ , но в нем так ничем дело и не разрешилось. Вот, надеюсь, что может «спустя года», найдется спец, кто мне подскажет, в чем же проблема.
Да, еще забыл упомянуть, что кэши базы тоже чистил. И базу удалял и добавлял заново. А то эта база с эквайрингом не хотела работать, если интересно, то почитайте: https://www.azhur-c.ru/arhiv_errors1c.html?id=61
Ну первое. Предмет отладки не показал. Сервис параметры отладка.
Второе какой клиент отлаживаешь.
Ну и третье что за база путь напиши!
от этих параметров у тебя может и не работать!
1. Предмет отладки не появляется после запуска в списке предметов отладки, см здесь (7) , еще раз скрин
Сервис — Параметры — Отладка — где.
2. Толстый клиент
3. Как указано в проблеме во второй строчке — база файловая . Думаю нет смысла писать путь к каталогу с базой.
И еще отмечу, чего не описал в проблеме. Комп новый специально собирали , чтобы свежее железо не глючило в работе с торг.оборудованием. Поэтому и ПО основное, лишних программ практически нет.
(29) после обнволения платформы, о чем написал в новом сообщении форума пробовал запустить отладку из базы, подключенной по пути
\\Server\UT2015
Потом еще пробовал через
\\192.168.1.240\UT2015
Но ситуация, увы, осталась неизменной. Есть еще идеи?
Жаль, что Вы все ответы людей, которые пытаются Вам помочь, принимаете в штыки.
То, что Вы думаете, что удалили KIS, не говорит о том, что он действительно не работает. Проверить стоило бы. Надеюсь, Вы не только ругались, но и реально телнетились к порту 1560. В свете http://v8.1c.ru/o7/201506debug/index.htm неплохо бы вообще сменить платформу как минимум на 8.3.7.
Вообще, если всё, что Вы говорите, правильно, то у Вас — какая-то серьёзная проблема. Никто Вам не подскажет волшебного решения. Так что сбавьте тон и пробуйте, пробуйте. Дзен Вам поможет, ага.
Это как же так, потрудитесь, тогда пожалуйста объяснить. Просто в данному случае я не понимаю Вас.
Совсем удалили, напрочь, не просто отключили. А через удаление программ Windows удалили.
Порты именно телнетил, т.к. здравого админа нет.
А тон у меня нормальный. Просто давайте читать содержимое форума и сообщений — это обращение не только к Вам, но и ко всем остальным. А то пишут невпопад, даже не читая, тем самым тратят свое время. Давайте по существу. У кого какие-то решения были, кто-то сталкивался с данной проблемой?
Значит, KIS и брандмауэры отпадают.
Остаётся несовместимость Win32 и Win64 и некий неизвестный косяк платформы.
В любом случае, лучше обновить платформу, Win10 x64 + 1С 8.3.9 работают успешно, включая Eclipse.
(27)
(29) Установил платформу 8.3.9.1818
Ситуация никак не поменялась. Все так же имеется, как описано в начале — вроде сеанс отладочный запускается, но в предметах отладки не доступен и после обновления списка не появляется.
Вот состояние вкладок в меню «Сервис» — «Параметры» конфигуратора и предприятия (открывшегося как-бы отладочного процесса)
Проверка портов с помощью netstat и telnet при открытых сеансах конфигуратора (порт 1561) и предприятия (порт 1560), показанных на предыдущих скринах. Судя по данных netstat порты не заняты ничем другим, кроме как 1С. По данным telnet не до конца понимаю, т.к. не сисадмин, но вроде как 1560 открыт, а 1561 занят, но судя по данным netstat занят 1Ской.
Ну и новая попытка достучаться до конфигуратора с помощью обработки с ошибкой в коде. Сначала, пока была открыт прежний сеанс конфигуратора, выдавал
После того как конфигуратор был закрыт и нажата кнопка «Подолжить» все-таки открылся новый сеанс конфигуратора, но он все-так же «отвязан» и в предметах отладки не доступен ни в каком виде.
(31) значит чудо было связано с 8.3.7. Возьму на заметку!
Раз отладка не работает вообще. То явно дело в ПО в частности в винде.
1. На другом ПК работает отладка?
2 .Под другой учеткой на этом ПК работает?
3. После переустановки винды проблема решается?
Если на любой из этих ответов ответ да, то это админские штучки и смысла тратить время на ерунду не стоит. Но если у вас есть такой ресурс буду рад услышать развернутый ответ!
Возможно в базе когда-то неудачно поигрались с «предметами отладки». Что характерно, «новый механизм отладки» появился как раз в 8.3.7 — http://v8.1c.ru/o7/201506debug/index.htm
В голову приходит разве что переименовать папки «1C» в AppData\Roaming и AppData\Local в «1С-«, запустить и закрыть стартовое окно, скопировать из «1С-» в «1С» список баз и попробовать еще раз.
на проблемной машине сделать чистую локальную БД и зацепить отладкой?
Возможно файловая информацию о сеансах где то прикусила и поможет выгон всех пользователей\ перезагрузка сервера
Источник