После переустановки Windows 7 Ultimate 64-bit SP1 иногда процессы закрываются очень долго. Это чаще всего случается при запуске их с VS2010, но это не ограничивается этим. Распространенным случаем является приложение Windows с консолью (/ SUBSYSTEM: console), которая, как представляется, закрывается правильно, но консоль остается открытой в течение нескольких секунд или минут. В конце концов на консоли появляется сообщение «нажмите любую клавишу, чтобы закрыть», и процесс можно прервать.
Как я могу диагностировать эту проблему?
- Я установил Windows 7 Ultimate 64-bit SP1, но на этот раз ванильная (не N ) версия
- Единственный драйвер, который я установил вручную, это драйвер дисплея NVIDIA, но я пробовал несколько версий WHQL
- Симптомы близко совпадают с вопросом на
Консоль отладки Visual Studio иногда остается открытой и закрывать ее невозможно Однако это затрагивает даже не консольные приложения.
- От этого страдают как собственные, так и управляемые приложения.
- НЕПРАВИЛЬНО: Я полагал, что пострадали только 32-битные процессы, но страдают и 64-битные.
- если отладчик уже подключен, и я прерываюсь, пока процесс ожидает, отладчик
говорит:
Процесс заблокирован (или не выполняется *
)
код режима пользователя). Все темы были остановлены.
- Я не могу подключить отладчик к процессу, пока он находится в этом состоянии
- Я не могу убить эти процессы зомби из диспетчера задач или
ProcessExplorer, даже при закрытии всех дескрипторов, которые ссылаются на
процессы. (Хотя я не могу закрыть дескрипторы lsass.exe)
- ProcessExplorer говорит, что функция зависания единственного потока
каждый зависший процесс имеет значение ntdll! RtlDosSearchPath_Ustr.
- Большую часть времени мне приходится полностью закрывать Visual Studio, чтобы
процессы зомби закрываются.
- Последнее событие, которое Process Monitor видит при зависании в каждом случае,
Выход из потока, который завершается успешно, и похоже, что выход занимает
нормальное количество времени. Когда процесс окончательно закрывается, никаких событий
показать вверх.
- LiveKd ничего не показывает, когда я следую инструкциям на
http://blogs.technet.com/b/markrussinovich/archive/2005/08/17/unkillable-processes.aspx
Кажется, виновником является плохой драйвер, поэтому я скоро переустановлю Windows.