Проблема с настройкой отладки в среде 1С:Предприятие 8.3 — одна из самых распространенных и при этом раздражающих задач для разработчика и администратора. Особенно остро это ощущается после обновления платформы (например, на версию 8.3.22 и выше), когда привычные настройки внезапно перестают работать. Рассмотрим ситуацию, когда флаг -debug прописан в реестре, служба перезапущена, порты открыты, но в списке подключений отладки в конфигураторе видны только клиентские процессы, а серверные напрочь отсутствуют.
Для начала проанализируем, как именно работает отладка по протоколу TCP/IP. В отличие от многих других сетевых служб, здесь реализован механизм обратного вызова (callback). Это означает, что не клиент инициирует соединение с сервером для отладки, а сервер пытается подключиться к клиенту (компьютеру разработчика), на котором запущен конфигуратор. Выясним, какие последствия это влечет:
1560–1591. Эти порты должны быть свободны на стороне клиента и разрешены на вход.Как показывает практика и опыт участников сообщества, в платформе 1С версии 8.3.22 (и некоторых других сборках) критически важным оказывается не просто наличие флага -debug, а его позиция в строке запуска службы. Рассмотрим, как правильно отредактировать реестр.
Разберем по шагам процесс внесения изменений:
Win + R, введите regedit и перейдите по пути: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (название может немного отличаться в зависимости от разрядности платформы).ImagePath.
"C:\Program Files\1cv8\8.3.22.1709\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
-debug так, чтобы он стоял ПЕРЕД параметром -d. Также крайне важно убедиться, что между ключами есть пробелы, а кавычки расставлены корректно. Правильный вариант будет выглядеть так:
"C:\Program Files\1cv8\8.3.22.1709\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -debug -d "C:\Program Files\1cv8\srvinfo"
После изменения реестра необходимо перезапустить службу 1C:Enterprise 8.3 Server Agent через консоль services.msc.
Если манипуляции с реестром не помогли, проанализируем сетевой уровень. Выясним причину возможной блокировки с помощью стандартных средств ОС. На сервере 1С попробуйте проверить связь с клиентом через PowerShell:
Test-NetConnection -ComputerName ИмяВашегоПК -Port 1560
Если проверка возвращает False, значит, запрос блокируется сетевым экраном. Дополнительно стоит обратить внимание на протокол IPv6. Современные версии Windows часто отдают приоритет IPv6. Если сервер 1С пытается инициировать соединение по IPv6, а клиент ожидает IPv4 (или наоборот), отладка не подключится. Рекомендуется временно отключить IPv6 в свойствах сетевого адаптера на сервере и клиенте для исключения этого фактора.
В новых версиях платформы 1С активно продвигается отладка по протоколу HTTP. Рассмотрим основные отличия, чтобы понять, стоит ли на нее переходить:
TCP-отладка:
HTTP-отладка:
dbgs).dbgs.exe, который может значительно потреблять оперативную память. Замечено, что при большом количестве объектов в памяти во время отладки, HTTP-протокол работает медленнее, чем TCP.Если вы решили использовать HTTP, убедитесь, что в конфигураторе в меню Сервис — Параметры — Запуск 1С:Предприятия — Дополнительные установлен соответствующий переключатель. Однако, если ресурсы сервера ограничены, TCP остается приоритетным вариантом.
Иногда, даже при правильных настройках, серверный процесс не появляется из-за «зависших» сессий в кэше сервера. В этом случае выполним следующие действия:
C:\Program Files\1cv8\srvinfo).snccntx. В ней хранятся данные сеансовых данных. Проанализируем риск: удаление содержимого этой папки приведет к разрыву текущих сеансов пользователей, поэтому процедуру лучше проводить в техническое окно.snccntx и запустите службу снова.Важный момент: При установке новой версии платформы 1С:Предприятие, права на папку bin и программные файлы могут сбрасываться. Убедитесь, что учетная запись, от которой запускается служба (например, USR1CV8), имеет полные права на чтение и выполнение в каталоге новой платформы.
Подводя итог, можно сказать, что в большинстве случаев проблема «невидимости» серверных процессов при отладке в версии 8.3.22 решается именно корректировкой строки запуска в реестре (перенос -debug перед -d). Если же это не помогает, следует копать в сторону сетевой доступности клиента со стороны сервера по портам 1560-1591. В ситуациях, когда включить отладку на сервере не удается, для анализа данных под пользователем можно использовать расширение для отладки СКД и запросов в пользовательском сеансе.