-2
  1. Немного предыстории

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

  2. Эта проблема

    Теперь все работает отлично, за исключением того, что иногда, когда я нажимаю "Мой компьютер", окно зависает, и я получаю сообщение: "Проводник Windows перестал отвечать".Я могу закрыть windows.explorer примерно через 10 секунд, затем все снова работает нормально, windows.explorer перезагружается после закрытия. Когда windows.explorer зависает, главная страница моего компьютера (та, которая показывает разделы) является единственной, которая не отвечает, все остальное работает отлично.

  3. Подробнее

    Примечание: это происходит примерно в 50% случаев, а не каждый раз. ПОЖАЛУЙСТА, подскажите мне, если вам нужна более подробная информация, я просто хочу, чтобы это сработало. Кроме того, у меня теперь есть антивирус, и я запустил 2 полноценных сканирования, обнаружив только 2 вредоносных программы и удалив их при первом сканировании.

  4. Полная информация об ошибке

Проблема привела к тому, что эта программа перестала взаимодействовать с Windows.

Подпись проблемы: Проблема Имя события: AppHangB1 Имя приложения: explorer.exe Версия приложения: 6.1.7600.16385 Метка времени приложения: 4a5bc60d Подпись Hang: f128 Тип зависания: 0 Версия ОС: 6.1.7600.2.0.0.256.1 Идентификатор локали: 1033 Дополнительная подпись зависания 1 .

Прочитайте наше заявление о конфиденциальности онлайн:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

1 ответ1

1

Чтобы понять, почему процесс находится в зависшем состоянии, вам необходимо проанализировать потоки процесса.

На ум приходят два способа. Один быстрый и может дать вам ответ, другой более точный.

  1. Запустите Process Explorer, посмотрите на потоки процесса Explorer.exe. С настроенными символами, мы надеемся, что стеки вызовов потоков указывают на то, что делает процесс. Здесь вы можете увидеть, какие потоки занимают больше всего процессорного времени и могут быть ответственными.

    1. Более точный / профессиональный способ. Создайте дамп памяти процесса Explorer.exe после его зависания, а затем проанализируйте его. Скорее всего, вам понадобится вся память процесса, когда она находится в состоянии зависания. Для этого я бы предложил скачать Procdump (https://technet.microsoft.com/en-us/sysinternals/dd996900.aspx), а затем в командной строке администратора запустить:

procdump -h -ma explorer.exe explorer.dmp

В следующий раз, когда процесс Explore.exe зависнет, мы надеемся, что Procdump создаст вам файл дампа для анализа. Затем необходимо установить Windbg, который является частью SDK - https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk. Нужно установить только компонент «Средства отладки для Windows».

После установки запустите Windbg и настройте символы. https://msdn.microsoft.com/en-us/library/windows/hardware/ff558829(v=vs.85).aspx

Затем вы можете загрузить дамп и запустить:!анализировать -hang -v

Это может дать вам ответ о том, какой поток / модуль может вызывать проблему. Может быть, он указывает на поток со сторонним dll в стеке, который вы можете удалить.

Обычно зависания немного сложнее, чем сбои, поскольку у вас нет ошибки, вам просто нужно рассмотреть, что потоки делают в контексте происходящего. Команды, такие как:!runaway выдаст вам список потоков по потребляемому процессору и может стать началом. Я бы просмотрел каждый из стеков, чтобы увидеть, выполняют ли они работу и какие модули задействованы, особенно если они сторонние, то есть не Microsoft.

Для получения дополнительной информации по этой теме см .: https://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-172-Application-Hangs.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .