Сделал свою команду "Шагнуть через (F10)", которая выводит длительность шага, если шаг выполнялся более Х мс. Но накладные расходы на проверку, что случилась новая остановка отладки, не удается снизить менее 100мс. Пробовал так
ТурбоКонф.ПолучитьДоступностьЭлемента("Текущая строка", "кнопка")
Похоже без кэширования указателя на найденный элемент тут не обойтись.
Прошу помощи в ускорении выполнения частой (хотя бы повторной) проверки.
Процедура ШагнутьЧерез()
АктивноеОкно = ТурбоКонф.ПолучитьАктивноеОкно();
ТурбоКонф.Клавиша(Клавиши.F10);
ШагМиллисекунд = 10;
МоментНачала = ТекущаяУниверсальнаяДатаВМиллисекундах();
Если ЖдатьОстановкуОтладки(, ШагМиллисекунд) Тогда
Длительность = ТекущаяУниверсальнаяДатаВМиллисекундах() - МоментНачала;
Если Истина
И ТурбоКонф.ПолучитьАктивноеОкно() = АктивноеОкно
И Длительность > ШагМиллисекунд
Тогда
ТурбоКонф.ПоказатьПодсказку("Выполнено за " + Длительность + "±" + ШагМиллисекунд + "мс");
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Функция ЖдатьОстановкуОтладки(Знач ЧислоСекунд = 2, Знач ШагМиллисекунд = 10) Экспорт
МоментНачала = ТекущаяУниверсальнаяДатаВМиллисекундах();
Пока ТекущаяУниверсальнаяДатаВМиллисекундах() <= МоментНачала + ЧислоСекунд*1000 Цикл
Если ТурбоКонф.ПолучитьДоступностьЭлемента("Текущая строка", "кнопка") Тогда // >100мс
Возврат Истина;
КонецЕсли;
ТурбоКонф.Ждать(ШагМиллисекунд);
КонецЦикла;
Возврат Ложь;
КонецФункции