При переходе на современную среду разработки 1С:EDT (Enterprise Development Tools) многие разработчики сталкиваются с тем, что привычный процесс отладки ломается. Вы запускаете отладку, сессия успешно подключается по протоколу HTTP, но расставленные в коде точки останова упорно игнорируются системой. Давайте подробно разберем, почему возникает эта проблема и как ее решить.
Выясним причину, которая часто скрывается в текстовом кодировании модулей конфигурации. В старых конфигурациях 1С или демонстрационных базах, созданных в классическом Конфигураторе, в файлах модулей может использоваться Windows-формат перевода строки — CRLF (Carriage Return / Line Feed).
Среда разработки 1С:EDT построена на платформе Eclipse и крайне чувствительна к символам конца строки. Если в модуле одновременно присутствуют разные варианты перевода строк или используется исключительно устаревший CRLF, парсер EDT не всегда может корректно сопоставить физические строки в редакторе с исполняемым кодом на сервере отладки.
Для решения этой проблемы выполним следующие шаги:
LF (Unix-формат).LF и сохранения проекта отладка должна заработать в штатном режиме.Рассмотрим сетевой аспект проблемы. Поскольку отладка в EDT осуществляется по протоколу HTTP, обмен данными между средой разработки и запущенным сеансом «1С:Предприятия» идет через локальный сервер отладки. Если на вашем компьютере или в корпоративной сети настроен системный прокси-сервер, весь трафик может перенаправляться через него. В результате связь между EDT и клиентским сеансом разрывается.
Настроим исключения прокси-сервера:
localhost и 127.0.0.1 в список исключений (адресов, для которых прокси-сервер не используется).EDT Start — там также есть раздел параметров прокси, где можно принудительно отключить его использование для локальных соединений.Проанализируем ситуацию с безопасностью системы. Локальный сервер отладки EDT и сама платформа 1С используют динамические или выделенные TCP/IP-порты для связи по протоколу HTTP. Сетевой экран (брандмауэр) Windows или стороннее антивирусное ПО могут заблокировать эти порты, посчитав подозрительной активность среды разработки.
Для устранения этой преграды выполним следующие действия:
В современных конфигурациях 1С (особенно на базе БСП) большинство тяжелых операций переносится в фоновые задания. По умолчанию автоматическое подключение к фоновым заданиям в EDT может быть отключено.
Проверим настройки подключения предметов отладки:
Фоновые задания, HTTP-сервисы и Web-сервисы, чтобы отладчик автоматически перехватывал управление при старте этих процессов.Иногда кэш метаданных проекта EDT устаревает и перестает соответствовать реальному состоянию конфигурации, загруженной в информационную базу. Из-за этого точки останова визуально активны, но физически не могут сопоставиться с исполняемым кодом.
Для исправления этой проблемы проведем очистку проекта:
Clean Project).Если настроить стандартную HTTP-отладку в EDT не удается, мы можем использовать альтернативные подходы: