Завис Турбоконф в остановке скрипта с отображением нежеланного своего окна поиска

tormozit Закрыто

Отлаживал вызов скрипта в точке останова. Вызвал команду скрипта. Появлись уведомления о блокировке. Кликнул 4 раза. Блокировка снялась. Вызвал команду Турбоконфа "Процедуры и функции". Появилось окно со списком методов модуля. Пытался ввести в нем подстроку фильтра, но Турбоконф не реагировал. Затем после каких то действий окно списка методов скрылось и я снова его позвал. Но уже открылось почему то (видимо из-за залипшего CTRL) окно поиска Турбоконф. Там уже Турбоконф намертво завис. Пришлось убивать процесс ОС.

Ссылка скрыта

Комментарии

bolsun
#1, 07 мая 2024 23:41

Я правильно понимаю, что ты вызвал команду "Процедуры и функции", когда ТК уже стоял на точке останова?


tormozit
#2, 07 мая 2024 23:42

(1) bolsun, да


bolsun
#3, 07 мая 2024 23:43

(2) tormozit, жестоко


bolsun
#4, ред. 07 мая 2024 23:46

Когда основной поток программы остановлен и вызывается, через BeginInvoke новая псевдоасинхронная задача в том же потоке, то тут скорее всего дедлок происходит.
Вызывать команды ТК в точке останова нельзя. Максимум могу вывести где-то плашку, что программа остановлена. Но она может мешать на экране.


bolsun
#5, 07 мая 2024 23:47

Определить что программа остановлена и не выполнять команды я не знаю как, можно попробовать спросить в чате OneScript конечно.


tormozit
#6, ред. 08 мая 2024 00:27

(4) bolsun, раньше (еще 2 дня назад) при этом появлялись уведомления о блокировке и можно было опять разблокировать. В общем то так работало уже довольно давно. Но теперь похоже перестало.


bolsun
#7, 07 мая 2024 23:49

(6) tormozit, если у тебя есть версия, на которой поведение другое - сообщи ее номер.


bolsun
#8, 07 мая 2024 23:51

Ну и раньше анимацией уведомления занималась система, теперь ТК, возможно из-за этого такие проблемы.


bolsun
#9, 07 мая 2024 23:52

Если это было уже на новых уведомлениях, то нужно посмотреть различия в версиях.


bolsun
#10, 07 мая 2024 23:56

Кстати ради эксперимента попробовал на текущей версии, да, у меня сначала появляются уведомления о разблокировке. И через несколько попыток ТК может подвиснуть, потом отвиснуть.
В общем это абсолютно не рекомендуется делать, программа все равно не будет нормально работать в таком режиме.


bolsun
#11, ред. 07 мая 2024 23:59

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


tormozit
#12, ред. 08 мая 2024 00:28

Я почти каждый день так отлаживал код уже много месяцев. Тяжело постоянно помнить могу ли я нажать любимое сочетание для открытия списка методов модуля или нет (будет жесткое зависание). Раньше я просто кликал 4 раза для разблокировки и продолжал работу. Теперь видимо мне нужно будет убивать и заново запускать Турбоконф каждый раз, как я машинально вызову одну из команд Турбоконфа.


bolsun
#13, 08 мая 2024 00:16

(12) tormozit, программа не зависает, она даже продолжает записывать лог событий, где последнее какой-то Process Hacker, где видимо ее выключили.
И у меня, повторяю ничего не виснет, но да это вполне возможно если фокус уйдет в элемент, который повесит основной поток при запросе UIAutomation или что-то еще.


tormozit
#14, 08 мая 2024 00:25

Проверил еще несколько раз тот же сценарий. Добиться такого же зависания Турбоконфа как в исходном случае (с нескрываемым окном поиска на переднем плане) пока больше не удалось и после нажатия F5 (выхода из останова скрипта) Трубоконф размораживается. Буду собирать еще статистику.


tormozit
#15, ред. 13 мая 2024 09:33

Исходное зависание более не повторялось. Возможно потому что его ситуация была очень редкой. И похоже оно действительно не связано с изменениями в последних версиях Турбоконф.
tormozit изменил статус на Закрыто


Для вставки изображения или файла, перетащите его в поле редактора или вставьте файл из буфера