К статье
Практический материал

Администрирование · 8 мин

Как остановить отладку в 1С: пошаговое руководство

Как остановить отладку в 1С: Предприятии и конфигураторе. Способы завершения отладки, отключение точек останова, работа с предметами отладки и типичные ошибки.

Отладка в 1С — это режим, при котором конфигуратор пошагово выполняет код и позволяет контролировать значения переменных. Когда анализ завершён, сеанс отладки нужно корректно остановить: иначе конфигуратор продолжит удерживать соединение с отлаживаемым приложением, а пользовательский сеанс может зависнуть на точке останова. Ниже разобраны все рабочие способы прекратить отладку — от штатной кнопки до принудительного завершения зависшего сеанса.

Способ зависит от ситуации: отладка может идти в обычном приложении, тонком клиенте, веб-клиенте или на сервере 1С. В каждом случае есть штатный путь остановки и аварийный, если штатный не срабатывает. Отдельно рассмотрено, как отключить точки останова и автоматическое подключение предметов отладки, чтобы режим не запускался повторно.

Штатная остановка отладки через конфигуратор

Основной способ — команда «Остановить» в конфигураторе. Откройте меню «Отладка» → «Остановить» или нажмите комбинацию клавиш Shift+F5. Команда разрывает связь конфигуратора с отлаживаемым приложением и завершает сеанс отладки.

После остановки отлаживаемое приложение (например, тонкий клиент) не закрывается автоматически — оно просто продолжает работать в обычном режиме, без пошагового выполнения. Если приложение было запущено из конфигуратора командой «Начать отладку», его можно закрыть вручную обычным образом.

Проверить, что отладка действительно остановлена, просто: заголовок конфигуратора перестаёт отображать состояние отладки, панель пошагового выполнения (шаг через, шаг внутрь, продолжить) становится неактивной, а приложение реагирует на действия пользователя без остановок на точках.

Как остановить отладку штатно
  1. 1
    Переключитесь в окно конфигуратора
  2. 2
    Откройте меню «Отладка» → «Остановить» или нажмите Shift+F5
  3. 3
    Убедитесь, что панель пошагового выполнения стала неактивной
  4. 4
    При необходимости закройте отлаживаемое приложение обычным способом

Остановка через «Продолжить отладку» и досрочное завершение кода

Если останавливать отладку полностью не нужно, а требуется просто «отпустить» приложение из текущей точки останова, используйте команду «Продолжить отладку» (F5). Выполнение кода продолжится до следующей точки останова или до конца процедуры. Если точек больше нет — приложение вернётся к обычной работе.

Для досрочного выхода из текущей процедуры без выполнения оставшихся строк есть команда «Шаг из» (Shift+F11) — она доводит текущую процедуру до конца и останавливается в вызвавшем её коде. Это удобно, когда вы случайно зашли внутрь длинной процедуры и не хотите проходить её по шагам.

Важно понимать разницу: «Продолжить» и «Шаг из» не останавливают сеанс отладки, а лишь управляют выполнением. Полностью отладку завершает только «Остановить» (Shift+F5) или закрытие отлаживаемого приложения.

Как отключить точки останова и предметы отладки

Бывает, что после остановки отладки при следующем запуске приложение снова «встаёт» — значит, остались активные точки останова. Снять их все сразу можно командой «Отладка» → «Удалить все точки останова». Отдельную точку убирают кликом по красному маркеру на поле слева от строки кода или клавишей F9 на нужной строке.

Второй источник повторных остановок — автоматическое подключение предметов отладки. Откройте «Отладка» → «Подключение» и снимите флажки с типов предметов отладки (например, «Тонкий клиент», «Сервер», «Фоновое задание»), которые больше не нужны. Так конфигуратор перестанет автоматически подхватывать новые сеансы.

Также проверьте настройку «Отладка» → «Остановка по ошибке»: если она включена, отладчик будет останавливаться при любом исключении, что часто воспринимается как «отладка не выключается».

Остановка отладки, запущенной на сервере 1С

При клиент-серверном режиме код часто выполняется на сервере, и отладка идёт через отладчик сервера. Остановить её тоже можно командой «Остановить» в конфигураторе, но если связь потеряна или сеанс завис, действуют через консоль кластера серверов 1С.

Откройте консоль администрирования, найдите нужный сеанс в списке сеансов информационной базы и завершите его. Это аварийная мера: несохранённые данные пользователя будут потеряны, поэтому сначала убедитесь, что завершаете именно отладочный сеанс, а не сеанс работающего пользователя.

Дополнительно проверьте, что отладка на сервере вообще разрешена: она включается параметром запуска агента сервера (ключ отладки в строке запуска службы). Если отладка на сервере больше не нужна, после завершения работ уберите этот ключ и перезапустите службу агента — это снижает нагрузку и закрывает потенциальную уязвимость.

Что делать, если конфигуратор или приложение зависло

Если конфигуратор не отвечает на Shift+F5, а отлаживаемое приложение «висит» на точке останова, сначала попробуйте мягкий вариант: закройте само отлаживаемое приложение (тонкий или толстый клиент). При потере связи с предметом отладки конфигуратор обычно сам завершает сеанс отладки и разблокируется.

Если это не помогло, завершите процесс приложения через диспетчер задач Windows: найдите процесс 1cv8 (клиент) и снимите задачу. Конфигуратор (процесс 1cv8 тоже, но с окном конфигуратора) завершайте в последнюю очередь — несохранённые изменения в модулях будут потеряны.

При зависшем серверном вызове клиентское приложение может не реагировать, пока сервер не завершит обработку. В этом случае помогает только завершение сеанса через консоль кластера, как описано выше.

Маршрут решения

Как выбрать способ остановки

Конфигуратор отвечает и отладка идёт штатноНажмите Shift+F5 («Отладка» → «Остановить»)
Отладка запускается снова при каждом стартеУдалите все точки останова и отключите предметы отладки в «Отладка» → «Подключение»
Приложение зависло и не реагируетЗакройте отлаживаемое приложение или снимите его процесс в диспетчере задач
Завис серверный вызов в клиент-серверном режимеЗавершите отладочный сеанс через консоль кластера серверов

Типичные ошибки при остановке отладки

Самая частая ошибка — закрытие конфигуратора вместо остановки отладки. При этом отлаживаемое приложение остаётся запущенным и может висеть на точке останова до тайм-ауту. Правильный порядок: сначала Shift+F5, потом при необходимости закрытие окон.

Вторая ошибка — оставленные точки останова в общих модулях и обработчиках, которые вызываются при каждом действии пользователей. В тестовой базе это просто мешает, а в рабочей базе при включённой отладке на сервере может затормозить работу всех пользователей.

Третья ошибка — завершение чужого сеанса в консоли кластера. Перед удалением сеанса сверьте пользователя, приложение и время начала сеанса.

Типичные ошибки
01
Закрытие конфигуратора вместо команды «Остановить» — отлаживаемое приложение остаётся висеть на точке останова
02
Забытые точки останова в общих модулях — отладка срабатывает при каждом запуске
03
Включённая остановка по ошибке — отладчик прерывается на любом исключении
04
Завершение чужого сеанса в консоли кластера — потеря данных работающего пользователя
Итог

Что важно запомнить

Штатно отладку останавливают командой Shift+F5 в конфигураторе. Чтобы она не запускалась повторно, удалите точки останова и отключите лишние предметы отладки. Зависшие сеансы завершайте через закрытие приложения или консоль кластера, помня о потере несохранённых данных.

Часто задаваемые вопросы

Отладка запускается сама при каждом старте приложения. Как это отключить?

Почти всегда причина в оставшихся точках останова или включённой остановке по ошибке. Выполните «Отладка» → «Удалить все точки останова», проверьте настройку «Остановка по ошибке» и снимите лишние флажки в «Отладка» → «Подключение».

Чем «Остановить» отличается от «Продолжить отладку»?

«Остановить» (Shift+F5) полностью завершает сеанс отладки и разрывает связь конфигуратора с приложением. «Продолжить» (F5) лишь отпускает выполнение кода до следующей точки останова — сеанс отладки при этом остаётся активным.

Потеряются ли данные, если остановить отладку?

Штатная остановка через Shift+F5 не отменяет уже выполненные действия приложения и не закрывает его. Потеря данных возможна только при аварийном завершении: снятии процесса в диспетчере задач или удалении сеанса в консоли кластера.

Как остановить отладку фонового задания?

Фоновое задание подключается к отладке как отдельный предмет отладки. Остановить его можно той же командой Shift+F5 в конфигураторе, а при зависании — отменить само фоновое задание через консоль заданий или консоль кластера.

Конфигуратор завис на точке останова и не реагирует. Что делать?

Сначала закройте отлаживаемое клиентское приложение — конфигуратор обычно разблокируется при потере связи. Если не помогло, снимите процесс клиента в диспетчере задач, а конфигуратор завершайте только в крайнем случае, чтобы не потерять несохранённые изменения в коде.