Войти
ПрограммированиеФорумОбщее

Windows 10 останавливает поток

#0
15:29, 27 мая 2019

Почему Windows 10 останавливает поток создынный в приложении С++. Поток какое-то время работает отлично, но может через минуту ( точно не засекал время ) потоку как-будто просто перестаёт выделять квант времени и процесс просто стоит по HLT. И этот поток даже нельзя закрыть из диспетчера задач. При этом в других Windows версией ниже всё работатет и небыло никаких проблем более 10 лет. :)

Куда рыть ?  Может антивирусная защита ОС это проделывает ?  Кто в курсе где рыть ?


#1
18:43, 27 мая 2019

Рой дедлок.

#2
18:53, 27 мая 2019

Да, снять процесс винда может не давать, если висит в вводе/выводе драйвера. Такое встречал много лет назад, но наверное с тех пор модель драйверов винды сильно поменялась. Сейчас может такое с ней уже не провернуть.

#3
19:22, 27 мая 2019

bykabak
Как можно закрыть поток из диспетчера задач? Он же не в режиме ядра работает. И при остановке потока может накрыться процесс который его породил(если бы такой функционал существовал)

#4
(Правка: 20:25) 20:21, 27 мая 2019

Ghost2, IBets

Так я не могу закрыть приложение, потому, что и ему Windows не даёт закрыть поток.  Т.е. всё работает до поры до времени и можно закрыть приложение ( всё корректно завершается и созданный поток ), но после какого-то момента я не могу закрыть приложение, потому, что оно не может закрыть созданный им поток. Собственно, и приложение фактически висит, потому, что потом перестает передавать данные основному приложению. В диспетчере задач я могу закрыть приложение, но поток остаётся висеть и это лечится только перегрузкой Windows. ( Я не знаю в чём дело, потому, что с любой иной ОС Windows, начиная с Windows 95 всё работает как швейцарские часы )

#5
21:08, 27 мая 2019

Установи process explorer
https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer

Настрой сервер отладочных символов винды
https://blogs.msdn.microsoft.com/vijaysk/2009/04/02/getting-bette… ess-explorer/

И посмотри стек потока, вероятнее всего он висит в режиме ядра на кривом не microsoft драйвере.

#6
21:36, 27 мая 2019

Так что конкретно делает поток-то?

#7
21:47, 27 мая 2019

HolyDel,
Считывает данные по COM и заполняет структуру.  всё.


Да, вот с драйвером проблемы - скорее всего.  Проблема с драйвером USB-COM...

#8
0:44, 28 мая 2019

bykabak

> Проблема с драйвером USB-COM
В плане долговременного (безглючного) использования есть два вида USB2RS конвертеров:
1. Полное говно
2. Еще хуже п. 1
Тебе повезло, если используешь что-нибудь вроде FTDI FT232RL. В краткосрочной перспективе они ведут себя вполне неплохо.

ЗЫ. Хотя, минута - это конечно не тот порядок времени, чтобы его завалить.

#9
7:57, 28 мая 2019

bykabak
> Куда рыть ?  Может антивирусная защита ОС это проделывает ?  Кто в курсе где
> рыть ?
подключись отладчиком к процессу и посмотри на чём висит поток. Дальше уже можно будет обсуждать, сейчас нет никакой информации.

#10
11:07, 28 мая 2019

Похоже действительно драйвер PL2303H  плох для Windows 10. По сути он адаптирован из предыдущей версии Windows

#11
11:33, 28 мая 2019

bykabak

Prolific это как раз из второй категории.

#12
11:42, 28 мая 2019

Это "говно" исправно работает на Windows 7 и ниже долгие годы.

#13
12:43, 28 мая 2019

bykabak

А на вин10 не работает, потому и без кавычек. Потом, у меня этих пролификов (нефункциональных по неизвестным причинам) в столе лежит штуки четыре, что как-бы намекает. И даже на вин7/xp с ними были сплошные проблемы, вплоть до синего экрана.

#14
12:48, 28 мая 2019

А FTDI мы даже в локатор воткнули для настройки (FT232R, он вроде пин-совместим с PL2303). Редко-редко бывает подглючивает, но обычно это лечится перетыканием провода. Ну и на вин10 работает без каких-либо проблем.

ПрограммированиеФорумОбщее