Имя: Пароль:
1C
 
Как узнать, что 1С-код под отладчиком?
0 Волшебник
 
03.06.25
21:09
Как понять, что 1С программа выполняется под отладчиком?

Задача со звёздочкой*:
Возможности отладчика не ограничены современным 1С-отладчиком.
1 Бычье сердце
 
03.06.25
21:15
(0)
Долго выполняется код)))
2 Волшебник
 
03.06.25
21:15
(1) Фи, там можно менять значения переменных
3 maxab72
 
03.06.25
21:21
(0) это в смысле, запущен ли сервер с флагом -debug? Тогда по возможности войти в серверные модули по отладке. А иначе вопрос не понятен.
4 Волшебник
 
03.06.25
21:26
(3) сервер-клиент... Вы там совсем рехнулись? Какая разница для 1С-кода?
5 maxab72
 
03.06.25
21:28
(4) для кода никакой, а для того, кто копается в коде и пытается понять что-то под отладчиком большая. Вопрос в (0) сформулирован неясно, требует уточнений.
6 Волшебник
 
03.06.25
21:33
(5) задавайте уточняющие вопросы
7 ThreeTONE
 
03.06.25
21:40
слушать порт отладки?
8 maxab72
 
03.06.25
21:41
(6) "Как понять, что 1С программа выполняется под отладчиком?" что означает эта фраза? Она означает, что требуется понять, запущен ли сервер с флагом отладки, или она означает, что конфигуратор не включен и просто выполняется какой-то код на сервере в режиме отладки, или что в конфигураторе выбран режим отладки и пошагово проходится код, или что-то четвертое?
9 Волшебник
 
03.06.25
21:42
(7) идея интересная
10 Волшебник
 
03.06.25
21:42
(8) Пошагово проходит код
11 maxab72
 
03.06.25
21:49
(10) Если прог пошагово проходит код, то понять включен ли флаг debug на сервере он может попытавшись установить точку останова в серверном модуле. Если флаг есть - останов сработает, если нет - не сработает.
12 Бычье сердце
 
03.06.25
21:51
в БСП есть функция ОбщегоНазначения.РежимОтладки()
Если вызвать из клиента, то можно узнать, запущен ли клиент в режиме отладки.
Но если в конфигураторе подключить отладку запущенного сеанса, возможно это не сработает.
13 Волшебник
 
03.06.25
21:52
(11) Предлагаю создать веб-сервис и определить там, сработала точка останова или нет
14 Волшебник
 
03.06.25
21:53
(12)👍 Очень клёво!
15 Garykom
 
гуру
03.06.25
22:27
Если с целью защиты от отладки то почти никак, исключение сложные варианты через ВК (и закрытые модули)
Если просто с целью отключить или включить нечто - то просто замер времени между вызовами
16 Волшебник
 
03.06.25
23:25
(15) 👍Отличное решение "почти никак"
17 MiniMuk
 
04.06.25
06:59
(12) он развер не проверяет что 1с запушена с ключом РежимОтладки (с учетом регистра)
18 TormozIT
 
гуру
04.06.25
07:50
(0) ирКэш.ЛиОтладкаРазрешенаЛкс()
19 Web00001
 
04.06.25
07:48
(12)>в БСП есть функция ОбщегоНазначения.РежимОтладки()
Эта функция проверяет, был ли параметр "РежимОтладки" передан при запуске. В этом случае для упрощения отладки некоторые функции выполняются сразу в коде а не в фоновом задании. Например формирование отчетов. Непосредственно к тому запущена отладка процесса или нет это не имеет никакого отношения.
20 toypaul
 
гуру
04.06.25
07:49
Посчитать время выполнения между участками кода. Под отладкой время будет больше :)
21 TormozIT
 
гуру
04.06.25
07:51
(12) Это совсем не то. Она только прикладной параметр запуска анализирует.

// Возвращает Истина, если включен режим отладки.
//
// Возвращаемое значение:
//  Булево - Истина, если включен режим отладки.
//
Функция РежимОтладки() Экспорт
    ПараметрЗапускаПриложения = СтандартныеПодсистемыСервер.ПараметрыКлиентаНаСервере(Ложь).Получить("ПараметрЗапуска");
    Возврат СтрНайти(ПараметрЗапускаПриложения, "РежимОтладки") > 0;
КонецФункции
22 TormozIT
 
гуру
04.06.25
07:53
Кстати между "подключен отладчик" и "разрешена отладка" и "запрещена отладка" есть разница. https://infostart.ru/1c/articles/1732527/
23 Ненавижу 1С
 
гуру
04.06.25
08:44
(10) а когда я пошагово по F10 прохожу процедуру не входя в нее, код выполняемый внутри процедуры это "пошагово" или нет?
24 Lama12
 
04.06.25
08:54
(0) Если отладка ведется в SoftICE, то никак.
25 SleepyHead
 
гуру
04.06.25
10:14
(0) Зачем? Какая проблема решается?
26 PLUT
 
гуру
04.06.25
13:59
(2) непонятно, кто дал доступ к пофигуратору в продуктиве?

а так биороботу рядовому ни жарко ни холодно, в его сеансе отладка разрешена или запрещена, подключен ли его "предмет отладки" или не подключен...
27 strange2007
 
04.06.25
14:11
(0) Как вариант, можно перебрать открытые окошки и если в каком-то есть подстрока в заголовке: "Конфигуратор", то скорее всего там кто-то что-то отлаживает
(это шутка)
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс