Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

Ошибка AppHangB1 в Windows 7: зависание программ и анализ стека

Обновлено: 16.09.2026  ·  Официальная база знаний

Симптомы зависания приложений с кодом события AppHangB1

При работе в приложении интерфейс перестает отвечать на действия пользователя, окно становится белесым, в заголовке появляется статус (Не отвечает), а принудительное закрытие окна порождает запись в журнале с сигнатурой события AppHangB1.

Поле отчета WERЗначениеРасшифровка
Имя события проблемыAppHangB1Глубокая блокировка главного графического потока UI (User Interface Thread)
Имя приложенияapp_name.exeИсполняемый файл зависшей программы
Идентификатор зависания47a2 (или аналогичный хэш)Смещение инструкции в адресном пространстве, на которой застрял поток

Методика анализа стека и устранения взаимных блокировок

  1. Анализ цепочки ожидания через Диспетчер задач / Resource Monitor:
    • Откройте resmon.exe (Монитор ресурсов).
    • Перейдите на вкладку «ЦП», найдите зависший процесс.
    • Нажмите ПКМ по процессу > «Анализ цепочки ожидания» (Analyze Wait Chain).
    • Окно покажет, какой дочерний поток или системная служба заблокировала выполнение (Deadlock).
  2. Снятие дампа памяти зависшего процесса для анализа в WinDbg:
    # Снятие полного дампа через Process Explorer (Sysinternals):
    # ПКМ по процессу -> Create Dump -> Create Full Dump -> Сохранить как app_hang.dmp
  3. Анализ стека вызовов потока в WinDbg:
    # Загрузите дамп в WinDbg и выполните команды:
    !analyze -v -hang
    ~* kb # Выведет стек вызовов всех потоков

    Ищите функции ожидания синхронизации: WaitForSingleObject, EnterCriticalSection или обращение к сетевым путям (UNC) через драйвер mrxsmb.sys.

  4. Устранение типовых причин AppHangB1 в Windows 7:
    • Установите накопительное исправление совместимости KB3125574 (Convenience Rollup).
    • Отключите аппаратное ускорение графики в настройках сбоящей программы.
    • Проверьте тайминги DCOM и WMI на предмет зависших запросов опроса оборудования.

Причина в 80% случаев: В Windows 7 ошибка AppHangB1 чаще всего вызвана тем, что приложение пытается синхронно обратиться к несуществующему сетевому принтеру, отключенному сетевому диску или разделяемой шаре, уходя в таймаут ожидания ввода-вывода (I/O Wait).

Практический опыт инженера: Практика ITSTM: При анализе стека WinDbg обратите внимание на сторонние хуки (DLL Injection). Программы захвата видео, оверлеи чатов и антивирусы внедряют свои dll во все GUI-потоки, провоцируя AppHangB1 при несовместимости библиотек runtime.

Частые вопросы (FAQ)

В чем отличие AppHangB1 от AppHangXProcB1?

AppHangB1 указывает на внутреннюю блокировку потока внутри самого процесса. Сигнатура AppHangXProcB1 означает кросс-процессную блокировку (Cross-Process), когда поток завис в ожидании ответа от совершенно другого внешнего процесса или службы.

Помогает ли увеличение файла подкачки при AppHangB1?

Нет, ошибка AppHang не связана с нехваткой виртуальной памяти (OutOfMemory). Это логический дедлок потоков синхронизации (Mutex, Critical Section).

Как завершить зависший процесс, если Диспетчер задач его не снимает?

Используйте принудительное завершение с разрывом дерева процессов: taskkill /F /T /PID <Номер_Процесса>.

Где хранятся системные дампы зависаний Windows Error Reporting?

Они располагаются в скрытой директории: C:\ProgramData\Microsoft\Windows\WER\ReportArchive.