Когда перестает работать отладчик

13.06.17

Задачи пользователя - Корректировка данных

Полагаю, некоторые коллеги уже оказывались в ситуации, когда отладка внезапно пропадала, и различные "шаманские" методики (переустановка платформы, чистка локального кэша и прочее) результата не давали. Опишу свой опыт по выявлению и устранению причины.

Преамбула

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

Начальное состояние

Периодические отваливается отладка. Основные подозреваемые - брандмауэр и антивирус выключены.

Анализ

Текущий порт отлачика tcp://srv1c:1562.

netstat -naot 1 | find "1562" при запуске сеанса отладки показывает наличие состояний SYN_SENT.

Настроен полный технологический журнал, поскольку заранее неизвестны события, содержащие необходимую информацию. Для сбора данных по клиентским сеансам моего пользователя файл настроек расположен в %UserProfile%\AppData\Local\1C\1cv8\conf

<config xmlns="http://v8.1c.ru/v8/tech-log">
    <log location="C:\v8\client\logs" history="1">
        <event>
            <ne property="name" value=""/>
        </event>
        <property name="all">
        </property>
    </log>
</config>

Значимые события технологического журнала клиента, собранного с момента запуска сеанса отладки до момента прекращения появления состояний SYN_SENT:

30:25.862000-0,EXCP,1,process=1cv8,ClientID=0,Exception=NetDataExchangeException,Descr='server_addr=any:1560 descr=10048(0x00002740): Обычно разрешается только одно использование адреса сокета (протокол/сетевой адрес/порт). line=261 file=src\DataExchangeServerImpl.cpp' 
30:25.862003-0,EXCP,1,process=1cv8,ClientID=0,Exception=NetDataExchangeException,Descr='server_addr=any:1561 descr=10048(0x00002740): Обычно разрешается только одно использование адреса сокета (протокол/сетевой адрес/порт). line=261 file=src\DataExchangeServerImpl.cpp' 
30:25.862006-0,EXCP,1,process=1cv8,ClientID=0,Exception=NetDataExchangeException,Descr='server_addr=any:1562 descr=10048(0x00002740): Обычно разрешается только одно использование адреса сокета (протокол/сетевой адрес/порт). line=261 file=src\DataExchangeServerImpl.cpp' 
30:30.199000-0,EXCP,3,process=1cv8,Usr=Админ,ClientID=3,Exception=NetDataExchangeException,Descr='server_addr=tcp://127.0.0.1:1562 descr=127.0.0.1:1562:10060(0x0000274C): Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера. ; 
line=1043 file=src\DataExchangeTcpClientImpl.cpp' 
30:34.208000-0,EXCP,3,process=1cv8,Usr=Админ,ClientID=4,Exception=NetDataExchangeException,Descr='server_addr=tcp://127.0.0.1:1562 descr=127.0.0.1:1562:10060(0x0000274C): Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера. ; 
line=1043 file=src\DataExchangeTcpClientImpl.cpp'

Ошибка 10048(0x00002740) является причиной, 10060(0x0000274C) - следствие.

Настройка TCP протокола

MaxUserPort

При соединение по 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

MaxUserPort

TcpTimedWaitDelay

Когда соединение 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

TcpTimedWaitDelay

Отключение автотюнинга tcp протокола:
netsh int tcp set global autotuninglevel=disabled

Выполняем перезагрузку.

Результат

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

См. также

Исправление в 1С:ЗУП/ЗКГУ ошибок по НДФЛ и взаиморасчетам с сотрудниками на начало расчетного года.

Корректировка данных Зарплата Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

4800 руб.

06.10.2023    2603    29    15    

35

Тестирование и исправление ключей аналитики ERP, УТ11, КА

Корректировка данных Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3600 руб.

10.02.2017    107252    636    173    

679

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27912    82    146    

61

Исправление ошибки закрытия месяца "Обнаружены ненулевые остатки по суммам при нулевом остатке по количеству в регистре себестоимости по организации". УТ 11.4,УТ 11.5, КА 2.4,КА 2.5, ERP 2.4, ERP 2.5, КА 2 Казахстан, Управление торговлей 3 для Казахстана

Закрытие периода Корректировка данных Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Закрытие месяца - важный процесс в современных конфигурациях, таких как УТ 11.4, УТ 11.5, КА 2.4, КА 2.5 ERP 2.4,ERP 2.5, КА 2 Казахстан, УТ 3 Казахстан регламентные операции влияют на расчет себестоимости, и ошибки в данном расчете не дают картины деятельности организации.

2400 руб.

27.10.2021    22542    302    35    

74

Заполнение документа "Корректировка регистров" произвольными данными

Закрытие периода Корректировка данных Платформа 1С v8.3 Система компоновки данных 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

2400 руб.

13.07.2015    50313    171    29    

121

Исправление ошибок по НДФЛ и взаиморасчетам с сотрудниками в 1С:Бухгалтерия 3.0

Корректировка данных Зарплата Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Внешняя обработка предназначена для исправления самых различных ошибок, возникших по самым разным причинам. Общее проявление этих ошибок видно в различии данных между: проводками и различными отчетами по НДФЛ, заполнении ведомостей на выдачу зарплаты, неверным расчетом НДФЛ при начислении ЗП и т.д.

3600 руб.

09.02.2024    708    3    4    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. stas1976 14 14.06.17 10:42 Сейчас в теме
где тут лайк ставить :))
+
17. Green2 29 20.09.17 09:12 Сейчас в теме
(1)>где тут лайк ставить :))
В самом верху страницы есть звездочка, это и есть лайк
+
2. login1020 133 14.06.17 10:47 Сейчас в теме
Я так понимаю, что это рекомендации к клиент-серверной версии, а что делать при такой же беде с файловой базой?
+
3. CratosX 112 14.06.17 12:03 Сейчас в теме
(2) а какая именно у вас беда? На файловой не может быть точно такой же
+
7. mickey.1cx 400 14.06.17 14:35 Сейчас в теме
(2) без разницы, техжурнал собирается для клиента 1С
+
4. login1020 133 14.06.17 12:46 Сейчас в теме
Однажды, пропала отладка для всех имеющихся баз на локальном пк, чистка кэша, отключение антивируса, брендмауэра не помогла. Впоследствии отладка сама включилась через несколько дней, из значимых событий на пк в эти дни было только обновление Skype...
+
5. tormozit 7140 14.06.17 13:46 Сейчас в теме
(4) Кончился диапазон портов для предметов отладки.
+
6. login1020 133 14.06.17 14:03 Сейчас в теме
(5) как это проверить можно было?
+
8. v3rter 14.06.17 14:36 Сейчас в теме
Единственное, что смущает - попадание в зарезервированный диапазон динамических (эфемерных ) портов 49152 - 65535.
Может лучше сначала Range: 5000 to 49000 ?
+
9. mickey.1cx 400 14.06.17 15:08 Сейчас в теме
(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. и использоваться не должны (для других целей). Динамические порты - должны регистрироваться в международном комитете для использования новыми службами широкого применения. Эфемерные порты - это порты "оставленные" разработчикам для использования в своих частных задачах (где попало...). Никаких гарантий об неконфликтности эфемерных портов в условиях эксплуатации, естественно, не даётся.

В этом контексте использование "эфемерного" диапазона не должно привести к каким то проблемам.
Можно более подробно разобрать, что вас смущает. Полагаю, полезно будет для всех.
Necytij; Aleskey_K; +2
10. marsohod 123 14.06.17 17:45 Сейчас в теме
Странно, у меня по умолчанию такие параметры установлены (только в шестнадцатиричной системе исчисления). Win 7 x64.
Может, стоит уточнить для каких ОС этот рецепт предназначен?..
+
11. mickey.1cx 400 14.06.17 22:18 Сейчас в теме
(10) по умолчанию этих параметров в соответствующих разделах реестра нет. В вашем случае, когда добавляли эти параметры, перед вводом значений не переключили предварительно систему исчисления в десятичную. При создании в форме ввода значения параметра по умолчанию установлена шестнадцатиричная, что объясняет ваши значения.
+
12. VirDim 16.06.17 13:46 Сейчас в теме
Применил параметры реестра, всё равно отладка не работает. Отлаживаю вебсервис (на клиенте и сервере отладка работает). На локальном компьютере iis и конфигуратор, на сервере сервер 1с и sql. Фаерволы, антивирусы отключены. В публикации прописал адрес отладки (в разных вариациях пробовал) из настроек отладки. Автоматическое подключение вебсервисов стоит. В тех журнале на клиенте такое (см скрин). Делал netsh winsock reset - не помогло. Есть какие-то мысли?

P.S. Отладка вчера работала, а сегодня отвалилась. Перезагружал и сервер и свою машину по нескольку раз, ничего не помогает.
Прикрепленные файлы:
+
13. mickey.1cx 400 16.06.17 15:45 Сейчас в теме
(12) попробуйте сделать дополнительно восстановление первоначальной конфигурации winsock
http://www.cyberforum.ru/networks-faq/thread1102068.html
+
14. VirDim 17.06.17 10:37 Сейчас в теме
(13) Да, я делал так, как было в инструкции, но это всё равно не помогло. В итоге, после n-ной попытки переопубликации вебсервиса и перезапуска его, отладка удивительным образом заработала. Шайтан...
+
15. Nigmatul 19.09.17 11:04 Сейчас в теме
Текущий порт отлачика tcp://srv1c:1562.

Как поменять текущий порт отладчика ?
+
16. zhuravlev_as 395 19.09.17 16:14 Сейчас в теме
(15) как минимум он устанавливается автоматически отладчиком. Иначе только менять диапазон в настройках "Конфигуратор" - "Отладка" - "Подключение". В открывшейся форме "Параметры отладки" кнопка снизу слева "Настройка" - регулировка диапазона используемых для отладки портов. Но какой порт платформа займет в каждом отдельном случае - ее усмотрение, будет занимать по порядку не занятые.
+
18. stroganov_ru 32 21.09.17 18:02 Сейчас в теме
Не благодарите
Прикрепленные файлы:
+
19. nkp14108 94 14.12.18 10:02 Сейчас в теме
А почему 32, а не 64
Прикрепленные файлы:
+
20. triviumfan 93 04.10.19 10:00 Сейчас в теме
Сколько же я мучался.. и на всех последних платформах.
Решение принял другое - переход на отладку по http протоколу. Ничего не "отваливается".
Жаль, что раньше эту статью не увидел.
acanta; +1
Оставьте свое сообщение