Анализируя какой нибудь сложный механизм, мы, следуя за курсором отладчика и проходя десятки программных модулей, устанавливаем точки останова во всех потенциально "нужных" местах. Далее, в очередной раз запуская отладку, программа останавливается в установленных нами точках и некоторые из них становятся не нужны — мы их убираем (выключаем) либо непосредственно в модуле, либо через список точек останова, оставляя только те точки, в которых происходит судьбоносное для решаемой задачи преобразование.
Точки останова являются помимо своего основного предназначения — останавливать процесс, еще и закладками. Перемещаться между ними мы можем через список точек останова (на всякий случай: "Отладка" — "Список точек останова" — "Кнопка перейти к исходному коду"). А чтобы понимать, какая точка к какой задаче относится, я предлагаю использовать выявленную особенность точки останова с условием. А именно — возможность в условии писать комментарий, который не мешает работе точки останова (созданное таким образом условие всегда истинно). Далее, используя список точек останова, можно быстро искать нужную точку в списке точек, включать или выключать ее активность, одним нажатием кнопки "Перейти к исходному коду" быстро переходить к точке (отрывается нужный модуль и курсор позиционируется на точке). Надеюсь, данная особенность сделает вашу работу немного удобней. Если мы хотим использовать точку только как закладку, можно ее отключить — либо непосредственно в модуле, щелкнув правой кнопкой и выбрав "Отключить точку останова", либо в списке точек останова — сняв флажок. К сожалению, поиск по комментариям в списке точек останова отсутствует. Смотрите рисунок ниже. Хорошего кода!
20.10.2024
С момента публикации в платформе произошли изменения — появилась возможность сохранения списка точек останова в файл:
«Всем известно, что для создания закладок в программном модуле есть специальный механизм.»
Что это такой за «типовой механиз» подскажите?
Гы.
Оригинально.
Правда моя рука хронически тянется к «Убрать все точки останова»
Люблю нестандартные подходы. Оригинально.
А будет ли ругаться на условия вида
Ложь // комментарий
ну это если закладка нужна, но останавливаться не надо.
(0) Нестандартно.
Теперь прийдется «переучиваться» как и (2)
(3) orefkov, если там будет только комментарий, то остановиться не должно
А можно добавить, например, свою константу «ОстанавливатьсяНаМоихМетках»=Булево и сделать условие по ней…
(3) orefkov, Чтобы использовать точку только как закладку,оставив только комментарий, Вы можете отключить точку останова или в списке точек, убрав флажок, или в модуле щелкнув по точке правой кнопкой — Отключить точку останова. Точка в модуле будет серая, а в списке без флажка — очень удобно по моему. Комментарий тоже можно редактировать и в списке и в модуле — ну это я на всякий случай вдруг кто забыл ))
(5) juntatalor,
остановится — смотрите рисунок — как раз этот случай.
А разве список точек останова сохраняется после перезапуска конфигуратора?
(9) pumbaE, Да, если он корректно закрыт
(11) artbear
На сколько я понял полностью типовой функционал с некоторыми хитростями )
Спасибо за оригинальный подход!
(13) KliMich, Спасибо за поддержку!
Поддержу автора!
Когда только начинал программировать, постоянно старался оптимизировать процесс программирования. В этом ключе создал даже обработку для быстрого поиска шаблонов кода(есть у меня в статьях), до сих пор ее использую.
Также додумался использовать точки останова в качестве меток кода, который надо отладить.
Перестал запускать отладку после каждого изменения кода, кодировал в нескольких модулях в разных местах программы, после этого запускал отладку. Забывал уже в каком месте внес изменения, и где и что нужно протестировать. Открывал список точек останова, начинал тестировать.
спасибо, интересная идея. возьму себе на заметку)))
(15) Rustig,
…а потом днями искал, где же ошибка… 🙂
(9) pumbaE,
или после перезапуска, или еще как — но точки останова сбрасываются. И привет закладочкам, делаем все заново..
В общем, очередная попытка сделать хорошую мину при плохой игре.. причем игру режиссируют другие…
(17) AlexO, А вот и самый умный ) Уважаемый AlexO,
вы не правы — ничего не слетает, это неправда. Кстати где хранятся данные закладок — можете на досуге изучить этот вопрос, и вам наконец то будет что сказать по делу (дарю идею).
(17) AlexO,
А зайти в конфигуратор и попробовать — «слабо»?
Лично у меня 8.2.14 — 8,2,17 не исчезают даже после презагрузки Виндовс
(15) Rustig,
Там используется механизм шаблонов .ST, как таковой обработки нет.
Самый корректный вариант закладок — это ставить название и ключевое слово.
Вести текстовый файл-содержание.
Все. Все проблемы будут решены.
Остальное все — это попытки использовать средства, не предназначенных для гуманоидов, руками человека 🙂
(18) Tsaregorodtsev,
значит, у нас конфигураторы разные. С хранением.
(21) AlexO,
Давайте уточним. Я пробовал на файловых базах, версии 8.2.14 — 8,2,17 при выключении Виндовс «кеш» не чиститься. 😉
Всё сохраняется
(20) AnryMc,
все, все, сейчас набегут..
знаю-знаю, что у тру-1сников 1с работает настолько чОтко, что они в конфигоуратор заглядывают только по большим праздникам и то выгрузить архив :))
Справедливости ради — у меня тоже не запоминает точки останова, я грешил на снегопат. Вечером проверю.
Довольно интересный и оригинальный способ. Проверил, у меня тоже все работает и сохраняет настройки на 8.2.16.
Автору спасибо за совет 🙂
Кнопка убрать «все точки останова», для меня ценнее. Но метод интересный.
А что, у кого-то не сохраняются точки останова при перезапуске конфигуратора? У нас точно одна и та же 1с стоит ? Всегда сохранялись, на любых релизах, файловая и sql.
Не знал. Автору спасибо
хорошая статья.
жаль окошко со списком точек останова надо закрывать и открывать постоянно.
а не встречал кто, такое же решение, но чтобы окошко было самостоятельным?
Да прикольно так! попробую при отладке
Надо бы взять на заметку, попробовать
Настройки конфигуратора слетают чаще, чем не слетают.
Поэтому статью можно будет считать полезной, когда разработчики платформы исправят свою ошибку.
А так, для общего развития, новичкам пригодится.
От безысходности идея с точками останова. Нужны просто закладки-метки. Типа «Куплет», «Припев» и т.д. )) Но сие зависит целиком от 1С. Вот управляемыми формы сделали, а редактор кода управляемым — забыли ))
(3), (11) а я как раз хочу написать скрипт для снегопата со схожим функционалом. Для этого, собственно, и спрашивал всех о способе отладке скриптов. Помимо «внешних» комментариев к участкам кода (а не к одной строке) хочу прикрутить эдакий ToDo-list и сделать выделение таких блоков цветом или метками в левой панели средствами SciColorer-а, если это вообще возможно.
В общем такие вот идеи. Но как всегда 24 часа в сутках катастрофически не хватает.
Однозначно плюс!
Очень пригодиться когда приходиться часто отлаживать один и тот же механизм.
Например обмен с сайтом в УТ11. Куча процедур вложенных и каждый раз ищешь нужный кусок кода. Отличное решение!
Наткнулся на статью случайно, решил опробовать способ…
Опробовал, все работает, как описал автор. После перезапуска конфигуратора и даже виндов, все отлично сохраняется и остается в том виде, в котором было создано. Удобства работы прибавилось, автору однозначный плюс и спасибо 🙂
(35) randa,
Документацию на свои механизмы не пробовали писать?
(36) ger_kar,
до первого раза потери ТО.
А потом — такие удобства наступят…