Отмена отладки в 1С: конфигуратор, клавиши и точки останова
Содержание
Чтобы прекратить текущий сеанс отладки, в конфигураторе 1С нажмите Shift+F5 — отлаживаемое приложение закроется, выполнение прервётся. Если мешают не сами остановы, а то, что программа встаёт на каждой строке, уберите точки останова: Ctrl+Shift+F9 снимает их все разом. А чтобы 1С вообще перестала запускаться в режиме отладки, снимите соответствующий флажок в параметрах запуска конфигуратора.
Под словом «отменить отладку» люди понимают разное: кто-то хочет выйти из зависшей паузы, кто-то — отключить остановы, а кто-то — чтобы база просто запускалась без отладчика. Разберём каждый случай: где нажать, какой клавишей, и что делать, если 1С повисла прямо в процессе.
Какой именно случай у вас
Прежде чем жать клавиши, определите, что нужно остановить. От этого зависит, одна операция вам нужна или несколько.
F5 (продолжить) или Shift+F5 (завершить приложение). Отладка при этом как механизм остаётся включённой.Ctrl+Shift+F9 или отключите в списке точек останова — выполнение перестанет прерываться.F5 снова будет обычным запуском.Дальше — по каждому пункту подробно.
Как завершить сеанс отладки в конфигураторе
Когда отладчик остановил выполнение на строке (жёлтая стрелка в поле кода), у вас два пути.
- Продолжить до конца —
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). В этом окне видно все точки по всем модулям конфигурации — здесь же их массово удаляют или отключают. Перед тем как отдать конфигурацию коллеге или выложить обновление, пройдитесь по этому списку — забытые точки у другого разработчика сработают неожиданно.
Как выключить режим отладки в приложении
Бывает, что база упорно стартует «в отладке»: в заголовке висит отметка, запуск медленнее обычного. Отладка в 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С зависла прямо в отладке
Отладчик держит процесс на паузе, а приложение не реагирует на клавиши — такое бывает, когда код встал в длинной операции или ждёт сервер. Порядок действий.
Shift+F5 ещё раз или отсоедините отладчик через меню. Иногда сеанс отладки повисает после аварийного закрытия приложения.1cv8.exe в диспетчере задач. Несохранённые данные этого сеанса потеряются.Снять зависший процесс вручную: откройте диспетчер задач, найдите 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) в диспетчере задач. Несохранённые данные этого сеанса потеряются, поэтому снимайте только свой зависший процесс.