Почему не работает отладка на сервере 1С и как ее правильно настроить

Программист 1С v8.3 (Обычные формы) IT и автоматизация бизнеса
← На главную

Одной из наиболее частых и раздражающих проблем, с которыми сталкиваются разработчики при работе в клиент-серверном варианте «1С:Предприятие», является невозможность «зайти» в серверные процедуры и функции. Вы ставите точку останова, запускаете отладку, но программа просто пролетает мимо нужного участка кода. Давайте вместе разберемся, почему это происходит, проанализируем настройки службы сервера и выясним, как обеспечить стабильную связь между конфигуратором и серверным процессом.

Проверка параметров запуска службы 1С:Предприятия

Первым делом нам необходимо убедиться, что сервер «1С» вообще знает о том, что он должен работать в режиме отладки. За это отвечает специальный ключ -debug, который прописывается в строке запуска службы 1C:Enterprise 8.3 Server Agent. Рассмотрим, как это выглядит на практике.

Откроем редактор реестра и перейдем по пути: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3... (название ветки зависит от версии платформы). Нас интересует параметр ImagePath. Проанализируем правильное написание строки запуска:


"D:\Program Files\1cv8\8.3.13.1690\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug

Важно обратить внимание на следующие нюансы. Во-первых, используйте именно дефис (-debug), а не косую черту (/debug), хотя в некоторых версиях работают оба варианта, дефис является стандартом для параметров службы. Во-вторых, крайне желательно ставить ключ -debug в самом конце строки или перед параметром -d. Если после внесения изменений в реестр вы не перезапустите службу сервера, настройки не вступят в силу.

Настройка автоматического подключения в Конфигураторе

Даже если сервер настроен правильно, Конфигуратор на стороне клиента может «не знать», к каким типам соединений ему нужно подключаться. Разберем шаги по настройке клиентского места:

  1. Запустите Конфигуратор.
  2. Перейдите в меню Отладка — Подключение...
  3. Нажмите кнопку Настройка автоматического подключения.
  4. Убедитесь, что установлены флажки для пунктов Клиентское приложение и Серверные вызовы (а также Внешнее соединение, если это необходимо).

Без этих галочек конфигуратор будет игнорировать сигналы от сервера, даже если тот успешно инициирует сеанс отладки.

Диагностика сетевого взаимодействия и брандмауэра

Если на самом сервере (локально) отладка работает, а с клиентской машины — нет, значит, мы имеем дело с сетевой проблемой. Рассмотрим механизм работы классической TCP-отладки. Это так называемое «обратное соединение»: не только клиент подключается к серверу, но и сервер пытается инициировать соединение с клиентом.

Проанализируем ситуацию: когда вы активируете отладку, сервер 1С обращается к IP-адресу вашего компьютера по портам из диапазона 1560–1591. Если на вашем рабочем компьютере включен брандмауэр Windows (Windows Firewall) или антивирус, он заблокирует это входящее соединение.

Чтобы решить эту проблему, выполним следующие действия:

Переход на HTTP-отладку (современный метод)

Если ваша сеть имеет сложную структуру (VPN, несколько подсетей, NAT), классическая TCP-отладка может работать нестабильно. В платформе 8.3 реализован более современный протокол — отладка по HTTP. Выясним, почему этот метод часто оказывается предпочтительнее: он не требует обратного соединения от сервера к клиенту, все общение идет через «посредника» — сервис отладки.

Рассмотрим пошагово, как переключиться на HTTP-отладку:

1. Изменим строку запуска службы сервера, добавив параметр -http вместо или вместе с -debug:


"C:\Program Files\1cv8\bin\ragent.exe" -srvc -agent ... -debug -http

2. В Конфигураторе перейдем в меню Сервис — Параметры — Отладка.

3. Выберем переключатель Протокол отладки: HTTP.

4. В поле Адрес сервера отладки укажем адрес нашего сервера 1С (например, http://192.168.1.10:1567). По умолчанию сервис отладки по HTTP использует порт 1567.

Тонкая настройка адреса своего компьютера

Иногда сервер 1С не может «найти» клиента, потому что клиент сообщает ему свой неверный IP-адрес (например, адрес виртуальной сети или 127.0.0.1). Посмотрим, как это исправить вручную.

В настройках Конфигуратора (Сервис — Параметры — Отладка — Дополнительно) найдите поле «Адрес своего компьютера». Вместо значения «Автоматически» впишите туда ваш реальный IP-адрес, который доступен серверу. Это принудительно заставит сервер обращаться именно по этому адресу при попытке начать сеанс отладки.

Особенности смешанных режимов (Управляемые и Обычные формы)

Проанализируем ситуацию, когда в конфигурации на обычных формах используются новые управляемые обработки. Здесь важно помнить, что для управляемых форм (даже в толстом клиенте) отладка может регулироваться не только ключом службы, но и настройками в Консоли администрирования серверов 1С. Откройте свойства вашей информационной базы в консоли и проверьте, установлена ли галочка «Отладка разрешена». Без этого флажка серверные вызовы в управляемом интерфейсе могут игнорироваться отладчиком.

Подводя итог, можно сказать: если отладка не работает, мы сначала проверяем наличие -debug в реестре и перезапуск службы, затем проверяем «галочки» автоподключения в Конфигураторе, и в 90% случаев оставшихся проблем виноват брандмауэр, блокирующий диапазон портов 1560-1591 на стороне разработчика.

← На главную