Администрирование · 8 мин
Как остановить отладку в 1С: пошаговое руководство
Как остановить отладку в 1С: Предприятии и конфигураторе. Способы завершения отладки, отключение точек останова, работа с предметами отладки и типичные ошибки.
Отладка в 1С — это режим, при котором конфигуратор пошагово выполняет код и позволяет контролировать значения переменных. Когда анализ завершён, сеанс отладки нужно корректно остановить: иначе конфигуратор продолжит удерживать соединение с отлаживаемым приложением, а пользовательский сеанс может зависнуть на точке останова. Ниже разобраны все рабочие способы прекратить отладку — от штатной кнопки до принудительного завершения зависшего сеанса.
Способ зависит от ситуации: отладка может идти в обычном приложении, тонком клиенте, веб-клиенте или на сервере 1С. В каждом случае есть штатный путь остановки и аварийный, если штатный не срабатывает. Отдельно рассмотрено, как отключить точки останова и автоматическое подключение предметов отладки, чтобы режим не запускался повторно.
Штатная остановка отладки через конфигуратор
Основной способ — команда «Остановить» в конфигураторе. Откройте меню «Отладка» → «Остановить» или нажмите комбинацию клавиш Shift+F5. Команда разрывает связь конфигуратора с отлаживаемым приложением и завершает сеанс отладки.
После остановки отлаживаемое приложение (например, тонкий клиент) не закрывается автоматически — оно просто продолжает работать в обычном режиме, без пошагового выполнения. Если приложение было запущено из конфигуратора командой «Начать отладку», его можно закрыть вручную обычным образом.
Проверить, что отладка действительно остановлена, просто: заголовок конфигуратора перестаёт отображать состояние отладки, панель пошагового выполнения (шаг через, шаг внутрь, продолжить) становится неактивной, а приложение реагирует на действия пользователя без остановок на точках.
- 1Переключитесь в окно конфигуратора
- 2Откройте меню «Отладка» → «Остановить» или нажмите Shift+F5
- 3Убедитесь, что панель пошагового выполнения стала неактивной
- 4При необходимости закройте отлаживаемое приложение обычным способом
Остановка через «Продолжить отладку» и досрочное завершение кода
Если останавливать отладку полностью не нужно, а требуется просто «отпустить» приложение из текущей точки останова, используйте команду «Продолжить отладку» (F5). Выполнение кода продолжится до следующей точки останова или до конца процедуры. Если точек больше нет — приложение вернётся к обычной работе.
Для досрочного выхода из текущей процедуры без выполнения оставшихся строк есть команда «Шаг из» (Shift+F11) — она доводит текущую процедуру до конца и останавливается в вызвавшем её коде. Это удобно, когда вы случайно зашли внутрь длинной процедуры и не хотите проходить её по шагам.
Важно понимать разницу: «Продолжить» и «Шаг из» не останавливают сеанс отладки, а лишь управляют выполнением. Полностью отладку завершает только «Остановить» (Shift+F5) или закрытие отлаживаемого приложения.
Как отключить точки останова и предметы отладки
Бывает, что после остановки отладки при следующем запуске приложение снова «встаёт» — значит, остались активные точки останова. Снять их все сразу можно командой «Отладка» → «Удалить все точки останова». Отдельную точку убирают кликом по красному маркеру на поле слева от строки кода или клавишей F9 на нужной строке.
Второй источник повторных остановок — автоматическое подключение предметов отладки. Откройте «Отладка» → «Подключение» и снимите флажки с типов предметов отладки (например, «Тонкий клиент», «Сервер», «Фоновое задание»), которые больше не нужны. Так конфигуратор перестанет автоматически подхватывать новые сеансы.
Также проверьте настройку «Отладка» → «Остановка по ошибке»: если она включена, отладчик будет останавливаться при любом исключении, что часто воспринимается как «отладка не выключается».
Остановка отладки, запущенной на сервере 1С
При клиент-серверном режиме код часто выполняется на сервере, и отладка идёт через отладчик сервера. Остановить её тоже можно командой «Остановить» в конфигураторе, но если связь потеряна или сеанс завис, действуют через консоль кластера серверов 1С.
Откройте консоль администрирования, найдите нужный сеанс в списке сеансов информационной базы и завершите его. Это аварийная мера: несохранённые данные пользователя будут потеряны, поэтому сначала убедитесь, что завершаете именно отладочный сеанс, а не сеанс работающего пользователя.
Дополнительно проверьте, что отладка на сервере вообще разрешена: она включается параметром запуска агента сервера (ключ отладки в строке запуска службы). Если отладка на сервере больше не нужна, после завершения работ уберите этот ключ и перезапустите службу агента — это снижает нагрузку и закрывает потенциальную уязвимость.
Что делать, если конфигуратор или приложение зависло
Если конфигуратор не отвечает на Shift+F5, а отлаживаемое приложение «висит» на точке останова, сначала попробуйте мягкий вариант: закройте само отлаживаемое приложение (тонкий или толстый клиент). При потере связи с предметом отладки конфигуратор обычно сам завершает сеанс отладки и разблокируется.
Если это не помогло, завершите процесс приложения через диспетчер задач Windows: найдите процесс 1cv8 (клиент) и снимите задачу. Конфигуратор (процесс 1cv8 тоже, но с окном конфигуратора) завершайте в последнюю очередь — несохранённые изменения в модулях будут потеряны.
При зависшем серверном вызове клиентское приложение может не реагировать, пока сервер не завершит обработку. В этом случае помогает только завершение сеанса через консоль кластера, как описано выше.
Как выбрать способ остановки
Типичные ошибки при остановке отладки
Самая частая ошибка — закрытие конфигуратора вместо остановки отладки. При этом отлаживаемое приложение остаётся запущенным и может висеть на точке останова до тайм-ауту. Правильный порядок: сначала Shift+F5, потом при необходимости закрытие окон.
Вторая ошибка — оставленные точки останова в общих модулях и обработчиках, которые вызываются при каждом действии пользователей. В тестовой базе это просто мешает, а в рабочей базе при включённой отладке на сервере может затормозить работу всех пользователей.
Третья ошибка — завершение чужого сеанса в консоли кластера. Перед удалением сеанса сверьте пользователя, приложение и время начала сеанса.
Что важно запомнить
Штатно отладку останавливают командой Shift+F5 в конфигураторе. Чтобы она не запускалась повторно, удалите точки останова и отключите лишние предметы отладки. Зависшие сеансы завершайте через закрытие приложения или консоль кластера, помня о потере несохранённых данных.
Часто задаваемые вопросы
Отладка запускается сама при каждом старте приложения. Как это отключить?
Почти всегда причина в оставшихся точках останова или включённой остановке по ошибке. Выполните «Отладка» → «Удалить все точки останова», проверьте настройку «Остановка по ошибке» и снимите лишние флажки в «Отладка» → «Подключение».
Чем «Остановить» отличается от «Продолжить отладку»?
«Остановить» (Shift+F5) полностью завершает сеанс отладки и разрывает связь конфигуратора с приложением. «Продолжить» (F5) лишь отпускает выполнение кода до следующей точки останова — сеанс отладки при этом остаётся активным.
Потеряются ли данные, если остановить отладку?
Штатная остановка через Shift+F5 не отменяет уже выполненные действия приложения и не закрывает его. Потеря данных возможна только при аварийном завершении: снятии процесса в диспетчере задач или удалении сеанса в консоли кластера.
Как остановить отладку фонового задания?
Фоновое задание подключается к отладке как отдельный предмет отладки. Остановить его можно той же командой Shift+F5 в конфигураторе, а при зависании — отменить само фоновое задание через консоль заданий или консоль кластера.
Конфигуратор завис на точке останова и не реагирует. Что делать?
Сначала закройте отлаживаемое клиентское приложение — конфигуратор обычно разблокируется при потере связи. Если не помогло, снимите процесс клиента в диспетчере задач, а конфигуратор завершайте только в крайнем случае, чтобы не потерять несохранённые изменения в коде.