Работа в терминальном режиме (RDP) на сервере часто преподносит сюрпризы разработчикам 1С. Одна из самых неприятных ситуаций — когда при запущенном сеансе «1С:Предприятие» список «Доступные предметы отладки» в Конфигураторе остается пустым. Мы не можем поставить точку останова, проверить значения переменных или проанализировать логику работы кода. Давайте вместе разберем, почему это происходит и как восстановить работоспособность отладчика шаг за шагом.
Прежде чем переходить к сложным системным настройкам, проанализируем текущие параметры запущенного сеанса пользователя. В современных версиях платформы 1С 8.3 возможность отладки может быть просто выключена в самом приложении. Рассмотрим, как это проверить:
Если этот флаг не установлен, Конфигуратор просто не «увидит» данный сеанс. Стоит помнить, что в некоторых случаях эти настройки могут сбрасываться при обновлении платформы или очистке кеша.
Начиная с версии платформы 8.3.7, 1С поддерживает два протокола взаимодействия между Конфигуратором и предметом отладки. Разберем особенности каждого:
Протокол TCP/IP: Это стандартный механизм. Он использует диапазон портов 1560–1591. В условиях RDP-сервера, когда одновременно работают несколько пользователей, порты могут быть заняты или заблокированы внутренними политиками безопасности. Если Конфигуратор не видит сеанс по TCP/IP, это первый сигнал проверить настройки брандмауэра.
Протокол HTTP: Считается более стабильным для работы в сложных сетевых условиях и в терминальных сессиях. Давайте попробуем переключить отладку на HTTP. Для этого выполним следующие действия:
http://localhost:1550 или оставим настройки по умолчанию.После смены протокола обязательно перезапустим и Конфигуратор, и сеанс Предприятия.
Если штатные настройки в интерфейсе не помогают, проанализируем возможность использования ключей командной строки. Мы можем жестко задать режим отладки в настройках списка баз. Рассмотрим, как это сделать:
/Debug -http /DebuggerURL http://localhost:1560
Параметр /Debug активирует сам режим, а ключ -http указывает платформе использовать именно веб-протокол. Это часто решает проблему видимости предметов отладки, если автоматическое определение протокола дает сбой.
Выясним еще одну скрытую причину: конфликт сетевых протоколов. Иногда сервер 1С (даже в файловом варианте) пытается «слушать» порт на IPv6-адресе ::1, в то время как отладчик ищет его на IPv4 127.0.0.1. В результате они не могут встретиться.
Чтобы исключить эту проблему, попробуем внести изменения в файл hosts или явно указать IP-адрес сервера в настройках отладки вместо имени компьютера. Также полезно проверить файл конфигурации conf.cfg, который находится в папке bin\conf установленной платформы. Мы можем добавить туда строку:
DebuggerURL=http://localhost:1550
Проанализируем ситуацию с точки зрения операционной системы. При работе через RDP для каждого пользователя создается изолированная среда. Чтобы отладка работала корректно, необходимо соблюдение двух условий:
Также важно проверить, не остались ли в памяти «зависшие» процессы 1cv8.exe от предыдущих неудачных сессий. Они могут удерживать порты отладки, не давая новым процессам инициализировать подключение. Рекомендуем открыть «Диспетчер задач» и завершить все процессы 1С перед повторной попыткой.
Если отладка работала исправно и внезапно пропала, велика вероятность повреждения локальных файлов настроек. Разберем процесс очистки кеша:
%AppData%\Local\1C\1cv8 и удалим все подпапки с именами-идентификаторами (длинные буквенно-цифровые коды).%AppData%\Roaming\1C\1cv8.После этого при запуске Конфигуратора зайдем в меню «Отладка» — «Настройка отладки». Убедимся, что список «Исключения» пуст. Иногда туда ошибочно попадают правила, которые блокируют отладку конкретных конфигураций или сеансов.
Применяя эти шаги последовательно — от простых настроек интерфейса до ключей запуска и сетевых протоколов — мы гарантированно найдем причину и вернем возможность полноценной разработки и отладки в файловой базе 1С.