Отмена отладки в 1С: конфигуратор, клавиши и точки останова

· 9 мин

Содержание

Чтобы прекратить текущий сеанс отладки, в конфигураторе 1С нажмите Shift+F5 — отлаживаемое приложение закроется, выполнение прервётся. Если мешают не сами остановы, а то, что программа встаёт на каждой строке, уберите точки останова: Ctrl+Shift+F9 снимает их все разом. А чтобы 1С вообще перестала запускаться в режиме отладки, снимите соответствующий флажок в параметрах запуска конфигуратора.

Под словом «отменить отладку» люди понимают разное: кто-то хочет выйти из зависшей паузы, кто-то — отключить остановы, а кто-то — чтобы база просто запускалась без отладчика. Разберём каждый случай: где нажать, какой клавишей, и что делать, если 1С повисла прямо в процессе.

Какой именно случай у вас

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

Что именно хотите прекратить?

Дальше — по каждому пункту подробно.

Как завершить сеанс отладки в конфигураторе

Когда отладчик остановил выполнение на строке (жёлтая стрелка в поле кода), у вас два пути.

  • Продолжить до конца — F5. Код доработает до завершения или до следующей точки останова.
  • Прервать немедленно — Shift+F5. Отлаживаемое приложение 1С:Предприятие закрывается, сеанс отладки заканчивается.

Те же команды есть в меню Отладка и на панели инструментов «Отладка». Кнопка с красным квадратом — это остановка, кнопка «продолжить» похожа на значок воспроизведения.

Shift+F5 закрывает именно отлаживаемый сеанс 1С:Предприятия, а не сам конфигуратор. Конфигуратор остаётся открытым, и вы можете править код дальше.

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

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

Горячие клавиши управления выполнением

Пока отладчик держит паузу, этими клавишами вы управляете тем, как код пойдёт дальше. Знать их полезно: половина «не могу выйти из отладки» — это просто незнание, какой клавишей продолжить.

ДействиеКлавишаЧто делает
ПродолжитьF5Выполнение идёт до следующей точки или до конца
Завершить приложениеShift+F5Закрывает отлаживаемый сеанс, заканчивает отладку
Запустить без отладкиCtrl+F5Старт приложения, отладчик не подключается
Шагнуть черезF10Выполняет строку, не заходя внутрь вызванной процедуры
Шагнуть вF11Заходит внутрь вызываемой процедуры или функции
Шагнуть изShift+F11Доходит до конца текущей процедуры и возвращается
Выполнить до курсораCtrl+F10Доводит выполнение до строки, где стоит курсор

Чаще всего «застревают» именно между F10 и F11: человек случайно заходит в каждую вызванную функцию и думает, что отладка не кончается. Если нужно просто доработать текущую процедуру и выйти — жмите Shift+F11, а чтобы вообще не останавливаться — F5.

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

Как убрать и отключить точки останова

Точка останова (breakpoint) — красный кружок на левом поле модуля. Именно на них отладчик и ставит паузу. Если выполнение прерывается там, где не надо, причина почти всегда в забытых точках.

Снять одну точку: поставьте курсор на строку и нажмите F9 — кружок исчезнет. Повторное F9 ставит точку обратно.

Снять все точки сразу: Ctrl+Shift+F9. Команда «Удалить все точки останова» есть и в меню Отладка. После этого код больше не будет вставать ни на одной строке.

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

Полный список расставленных точек открывается командой «Список точек останова» (Alt+F9). В этом окне видно все точки по всем модулям конфигурации — здесь же их массово удаляют или отключают. Перед тем как отдать конфигурацию коллеге или выложить обновление, пройдитесь по этому списку — забытые точки у другого разработчика сработают неожиданно.

Проверка перед выходом из отладки
Выполнено: 0 / 4

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

Бывает, что база упорно стартует «в отладке»: в заголовке висит отметка, запуск медленнее обычного. Отладка в 1С 8.3 — это два разных переключателя, и выключать иногда надо оба.

1. В конфигураторе. Откройте Сервис → Параметры, перейдите на закладку запуска 1С:Предприятия. Там есть настройки отладки — протокол (TCP или HTTP) и признак, стартовать ли приложение под отладчиком. Снимите флажок запуска под отладкой — тогда F5 будет запускать базу как обычно.

2. В самом приложении 1С:Предприятие. Чтобы конфигуратор мог подключиться к работающему сеансу, в этом сеансе должна быть разрешена отладка. Разрешение включается в настройках запущенного приложения (пункт про отладку в текущем сеансе). Снимите его — и приложение перестанет быть доступным для подключения отладчика.

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

Отладка под нагрузкой заметно замедляет работу. На рабочей (продуктивной) базе её держать включённой не стоит — только на разработческой или тестовой копии.

Консоль кода и внешние отладчики

Отладку в 1С ведут не только из конфигуратора.

Консоль кода. Это обработка, в которой выполняют произвольный код «на лету». Отдельного режима отладки у неё нет: вы просто закрываете окно консоли или прекращаете выполнение, если код завис. Специально «отменять отладку» тут нечего — достаточно закрыть обработку.

1C:EDT. В среде разработки на базе Eclipse (EDT) свой отладчик с привычными кнопками Resume, Terminate и Disconnect. Чтобы прекратить отладку в EDT, используйте «Terminate» (завершает процесс) или «Disconnect» (отсоединяет отладчик, оставляя приложение работать). Логика та же, что в конфигураторе, отличаются только названия команд.

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

Протокол отладки в параметрах запуска бывает двух видов. По TCP конфигуратор ищет отлаживаемые предметы в локальной сети, по HTTP — обращается к конкретному серверу отладки по адресу и порту. В современных релизах платформы по умолчанию предлагается HTTP: он проходит через межсетевые экраны и удобнее для серверных баз. Если вы недавно сменили протокол, список доступных предметов отладки в окне подключения поменяется — и приложение, которое вы хотели отсоединить, может просто не отображаться в прежнем списке. Тогда переключите протокол обратно и повторите подключение или отсоединение.

Во всех этих инструментах принцип один: либо завершить отлаживаемый процесс, либо отсоединить отладчик. Удалять конфигурацию, пересоздавать базу или «сносить настройки» для выхода из отладки не нужно — это не решает задачу и опасно.

Если 1С зависла прямо в отладке

Отладчик держит процесс на паузе, а приложение не реагирует на клавиши — такое бывает, когда код встал в длинной операции или ждёт сервер. Порядок действий.

Диагностика: выберите симптом

Снять зависший процесс вручную: откройте диспетчер задач, найдите 1cv8.exe (клиент) или 1cv8c.exe (толстый/тонкий клиент) того сеанса, который завис, и завершите его. Завершайте именно свой зависший процесс — на сервере терминалов или общем компьютере рядом могут работать чужие сеансы с тем же именем.

В клиент-серверной базе зависший сеанс чистят на стороне сервера. Через консоль администрирования или утилитой администрирования rac посмотрите список сеансов (rac session list) и завершите нужный. Точные подкоманды смотрите в справке rac help — не угадывайте параметры.

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

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

Как дальше не ловить проблемы с отладкой

Несколько привычек, которые избавляют от большинства ситуаций «отладка не отменяется».

  • 🔴 Убирайте точки останова, когда закончили. Самая частая причина «база сама встаёт» — забытая точка. Ctrl+Shift+F9 перед завершением работы.
  • ⚙️ Не держите отладку включённой на рабочей базе. Она тормозит и создаёт риск, что кто-то подключится к чужому сеансу.
  • 🧩 Разделяйте базы. Отлаживайте на копии или тестовой базе, а не на той, где работают люди. Снять копию проще, чем потом разбираться с зависшим продуктивным сеансом.
  • 🔌 Используйте отсоединение вместо закрытия. Если базу нельзя гасить — отсоединяйте отладчик, а не завершайте приложение.
  • 🗂 Проверяйте «Список точек останова» перед передачей конфигурации. Чужие остановы у коллеги срабатывают в самый неудобный момент.

Эти правила закрывают почти все обращения «не могу выйти из отладки» ещё до того, как они возникнут.

Частые вопросы

Какой клавишей прекратить отладку в 1С?
Shift+F5 завершает текущий сеанс отладки — отлаживаемое приложение закрывается. Чтобы просто продолжить выполнение без остановок, нажмите F5.
После отладки база всё равно встаёт на строке кода. Почему?
Остались точки останова. Снимите их все клавишей Ctrl+Shift+F9 или откройте «Список точек останова» (Alt+F9) и удалите. Отдельный остов снимается клавишей F9 на нужной строке.
Как запустить 1С без отладки, не отключая её совсем?
Нажмите Ctrl+F5 — приложение стартует без подключения отладчика. Настройки отладки при этом не меняются, в следующий раз F5 снова запустит под отладчиком.
Можно ли выйти из отладки, не закрывая запущенное приложение?
Да. Если конфигуратор подключён к работающему сеансу, отсоедините отладчик через меню Отладка. Приложение продолжит работать, просто перестанет останавливаться на точках.
1С зависла в отладке и не реагирует. Что делать?
Если Shift+F5 не помогает, завершите процесс 1cv8.exe (или 1cv8c.exe) в диспетчере задач. Несохранённые данные этого сеанса потеряются, поэтому снимайте только свой зависший процесс.