Ситуация, когда серверная отладка в 1С внезапно перестает работать, хотя ключ -debug прописан в реестре и служба перезапущена, является классической проблемой для разработчиков и системных администраторов. Рассмотрим подробно причины возникновения этой неисправности и разберем пошаговый алгоритм восстановления работоспособности инструментов отладчика на платформе 8.3.
Первым делом проанализируем настройки службы в реестре Windows. Даже если вы уверены, что ключ установлен, стоит убедиться в корректности его синтаксиса. Ошибка в одном символе или отсутствие пробела могут привести к тому, что параметр будет проигнорирован.
Выполним следующие действия:
regedit.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (название может отличаться в зависимости от версии платформы).ImagePath.ragent.exe присутствует ключ -debug.Важный нюанс: перед дефисом в параметре -debug обязательно должен стоять пробел. Также проанализируем ситуацию с кавычками — ключ должен находиться вне кавычек, которыми обрамлен путь к файлу. Пример корректной строки:
"C:\Program Files\1cv8\8.3.10.2299\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
Если на компьютере разработчика или на сервере устанавливались дополнительные версии платформы (например, 64-битный клиент или другая сборка), это могло привести к «сбиванию» путей. Выясним причину, почему это происходит: при установке новой версии 1С может перехватить регистрацию COM-объектов или обновить пути в системных переменных, из-за чего Конфигуратор и сервер начинают работать в «разных мирах».
Проанализируем следующие моменты:
bin, версия которой соответствует работающей службе ragent.Отладка по протоколу TCP требует двусторонней связи. Это означает, что не только ваш Конфигуратор должен «видеть» сервер, но и серверный процесс rphost должен иметь возможность инициировать соединение с вашим компьютером. Проверим настройки брандмауэра и антивируса.
Разберем, какие порты должны быть открыты:
Рассмотрим ситуацию с именами серверов. Практика показывает, что платформа чувствительна к регистру символов в имени сервера. Если в списке баз сервер прописан как SRV-1C, а служба зарегистрирована на srv-1c, отладка может не инициализироваться. Попробуем изменить способ обращения к серверу в стартере 1С:
hostname в консоли сервера).Иногда автоматическое подключение предметов отладки дает сбой, особенно если в базе используются расширения. Рассмотрим методику ручного переподключения:
Если стандартная очистка кэша (удаление базы из списка) не помогает, необходимо выполнить полную очистку данных на стороне сервера и клиента. Проанализируем, где могут скрываться «зависшие» настройки.
На стороне сервера:
1C:Enterprise 8.3 Server Agent.srvinfo (путь к ней указан в реестре).reg_1541 может сбросить настройки кластера. Рекомендуется очищать только содержимое папок snccntx* и temp.rphost, rmngr и ragent. Если они есть — завершим их принудительно.На стороне клиента очистим следующие каталоги в профиле пользователя:
%AppData%\1C\1cv8
%LocalAppData%\1C\1cv8
Если манипуляции с портами TCP и реестром не приносят результата, рассмотрим возможность перевода сервера на современный протокол отладки по HTTP. Этот метод более устойчив к сетевым экранам и особенностям маршрутизации.
Для этого в строку запуска службы добавим параметры -http и -debug. После перезапуска службы сервер начнет использовать отдельное приложение dbgs (отладочный сервер). В настройках Конфигуратора (Параметры — Отладка) также нужно будет выбрать «Протокол отладки: HTTP» и указать адрес сервера отладки.
Выясним преимущества этого метода: отладка работает через стандартные веб-порты, что минимизирует проблемы с брандмауэром и позволяет более стабильно работать с фоновыми заданиями и расширениями конфигурации.