OneScript
OneScript copied to clipboard
При подключенном отладчике зависает чтение stdin
Опишите ошибку При подключенном отладчике зависает чтение stdin
Воспроизведение ошибки
- Создать скрипт с кодом:
Поток = Консоль.ОткрытьСтандартныйПотокВвода();
Поток.ТаймаутЧтения = 100;
Чтение = Новый ЧтениеТекста();
Чтение.Открыть(Поток);
Результат = Чтение.Прочитать();
Сообщить(СокрЛП(Результат));
- Установить точку останова на строке:
Результат = Чтение.Прочитать(); - Запустить отладку
- После остановки на точке прололжить отладку или шагнуть (нажать F5|F10|F11).
- Убедиться, что процесс завис
Ожидаемое поведение Продолжение выполнения скрипта.
Окружение
- ОС: Windows 10
- Версия: 1.8.1+
А откуда поток возьмет входящие данные? С чего ему продолжаться?
Мы же с тобой пилили "Таймаут", шоб оно само отваливалось при отсутствии входящих.
Ну тут проблема: если поток висит на чтении системного чего-то, сокета или порта ввода-вывода, то по истечении таймаута ты, кажется, его не сможешь прервать извне
Не, стоп, тесты проходят, код рабочий. Проблема только при подключенном отладчике. Или я не правильно тебя понимаю?
Я скорее про то, что добиться работы под отладчиком без режима RunInTerminal не факт что вообще удастся
В копилку к #580