0x133 проверки ошибок: DPC_WATCHDOG_VIOLATION
Проверка ошибок DPC_WATCHDOG_VIOLATION имеет значение 0x00000133. Эта ошибка проверка указывает на то, что наблюдатель DPC был выполнен либо потому, что он обнаружил один длительный вызов отложенной процедуры (DPC), либо потому, что система провела длительное время на уровне запроса прерывания (IRQL) DISPATCH_LEVEL или выше.
Значение параметра 1 указывает, превышено ли время ожидания одного DPC или же система совокупно потратила длительный период времени на IRQL DISPATCH_LEVEL или выше. ЦП не должны работать дольше 100 микросекунд, а ISR не должны работать дольше 25 микросекунд, однако фактические значения времени ожидания в системе устанавливаются гораздо выше.
Дополнительные сведения о DPC см. в статье Introduction to DPC Objects and Windows Internals 7th Edition Part 1 by Павел Yosifovich, Mark E. Russinovich, David A. Solomon и Alex Ionescu.
Важно!
Эта статья предназначена для программистов. Если вы являетесь клиентом, который получил код ошибки "синий экран" во время работы с компьютером, см. статью Устранение ошибок синего экрана.
Параметры DPC_WATCHDOG_VIOLATION
Параметр 1 указывает тип нарушения. Значение других параметров зависит от значения параметра 1.
Параметр 1 | Параметр 2 | Параметр 3 | Параметр 4 | Причина ошибки |
---|---|---|---|---|
0 | Количество времени DPC (в тактах) | Выделение времени DPC (в тактах). | cast to nt! DPC_WATCHDOG_GLOBAL_TRIAGE_BLOCK, которая содержит дополнительные сведения об этом отдельном тайм-ауте DPC | Для одного DPC или ISR превышено время выделения. Компонент, на который возникает ошибка, обычно можно идентифицировать с помощью трассировки стека. |
1 | Период наблюдения | cast to nt! DPC_WATCHDOG_GLOBAL_TRIAGE_BLOCK, которая содержит дополнительные сведения об этом отдельном тайм-ауте DPC | Зарезервировано | Система совокупно потратила длительный период времени на IRQL DISPATCH_LEVEL или выше. Компонент, на который возникает ошибка, обычно можно идентифицировать с помощью трассировки стека. |
Причина
Чтобы определить причину, требуется отладчик Windows, опыт программирования и доступ к исходному коду модуля сбоя.
Дополнительные сведения см. в следующих статьях:
Анализ аварийного дампа с помощью отладчиков Windows (WinDbg)
Анализ файла дампа Kernel-Mode с помощью WinDbg
Использование расширения !analyze и !analyze
Дополнительные сведения о Windows DPC см. в разделе Windows Internals 7th Edition, часть 1 Павел Yosifovich, Марк E. Руссинович, Дэвид А. Соломон и Алекс Ионеску.
Пример 1
Расширение отладки !analyze отображает сведения об ошибке проверка и может быть полезно для определения первопричины.
Параметр 1 = 0
В этом примере число тактов 501 превышает выделение времени DPC 500. Имя образа указывает, что этот код выполнялся при проверка ошибки.
0: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
DPC_WATCHDOG_VIOLATION (133)
The DPC watchdog detected a prolonged run time at an IRQL of DISPATCH_LEVEL
or above.
Arguments:
Arg1: 0000000000000000, A single DPC or ISR exceeded its time allotment. The offending
component can usually be identified with a stack trace.
Arg2: 0000000000000501, The DPC time count (in ticks).
Arg3: 0000000000000500, The DPC time allotment (in ticks).
Arg4: 0000000000000000
...
IMAGE_NAME: BthA2DP.sys
...
Используйте следующие команды отладчика для сбора дополнительных сведений о сбоях с параметром 0:
k (Обратная трассировка стека отображения) для просмотра того, какой код выполнялся при возникновении кода остановки.
Вы можете использовать команду u, ub, uu (Unassemble), чтобы более подробно изучить особенности выполняющегося кода.
Расширение !pcr отображает текущее состояние области управления процессором (PCR) на определенном процессоре. В выходных данных будет адрес prcb
0: kd> !pcr
KPCR for Processor 0 at fffff8035f5a4000:
Major 1 Minor 1
NtTib.ExceptionList: fffff80368e77fb0
NtTib.StackBase: fffff80368e76000
NtTib.StackLimit: 0000000000000000
NtTib.SubSystemTib: fffff8035f5a4000
NtTib.Version: 000000005f5a4180
NtTib.UserPointer: fffff8035f5a4870
NtTib.SelfTib: 000000b6d3086000
SelfPcr: 0000000000000000
Prcb: fffff8035f5a4180
Irql: 0000000000000000
IRR: 0000000000000000
IDR: 0000000000000000
InterruptMode: 0000000000000000
IDT: 0000000000000000
GDT: 0000000000000000
TSS: 0000000000000000
CurrentThread: fffff80364926a00
NextThread: ffffe40b77c12040
IdleThread: fffff80364926a00
Вы можете использовать команду dt (тип отображения) для отображения дополнительных сведений о DPC и сторожевой службе DPC. Для адреса используйте prcb, указанный в выходных данных !pcr:
dt nt!_KPRCB fffff80309974180 Dpc*
0: kd> dt nt!DPC_WATCHDOG_GLOBAL_TRIAGE_BLOCK fffff803648fa320
+0x000 Signature : 0xaebecede
+0x004 Revision : 1
+0x006 Size : 0x10
+0x008 DpcWatchdogProfileOffset : 0x84a8
+0x00c DpcWatchdogProfileLength : 0x8200
Пример 2
Параметр 1 = 1
Для параметра 1 код может не останавливаться в области кода, включающей ошибку. В этом случае один из подходов заключается в использовании трассировки событий для отслеживания того, какой драйвер превышает нормальную продолжительность выполнения.
Используйте расширение отладки !analyze для отображения сведений об ошибке проверка.
0: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
DPC_WATCHDOG_VIOLATION (133)
The DPC watchdog detected a prolonged run time at an IRQL of DISPATCH_LEVEL
or above.
Arguments:
Arg1: 0000000000000001, The system cumulatively spent an extended period of time at
DISPATCH_LEVEL or above. The offending component can usually be
identified with a stack trace.
Arg2: 0000000000001e00, The watchdog period.
Arg3: fffff803648fa320, cast to nt!DPC_WATCHDOG_GLOBAL_TRIAGE_BLOCK, which contains
additional information regarding the cumulative timeout
Arg4: 0000000000000000
Приведите адрес nt! DPC_WATCHDOG_GLOBAL_TRIAGE_BLOCK, чтобы отобразить сведения о нем.
0: kd> dt nt!DPC_WATCHDOG_GLOBAL_TRIAGE_BLOCK fffff803648fa320
+0x000 Signature : 0xaebecede
+0x004 Revision : 1
+0x006 Size : 0x10
+0x008 DpcWatchdogProfileOffset : 0x84a8
+0x00c DpcWatchdogProfileLength : 0x8200
Используйте команду !dpcs для отображения поставленных в очередь DPC.
3: kd> !dpcs
CPU Type KDPC Function
0: Normal : 0xfffff8035f5ac290 0xfffff80363e15630 nt!PpmPerfAction
Failed to read DPC at 0xffffe40b77190dd8
0: Threaded: 0xfffff8035f5ac3d8 0xfffff80363f27d70 nt!KiDpcWatchdog
Решение
Чтобы определить конкретную причину и создать исправление кода, требуются возможности программирования и доступ к исходному коду модуля сбоя.
Комментарии
Как правило, этот код остановки вызван неисправным кодом драйвера, который при определенных условиях не завершает свою работу в течение выделенного интервала времени.
Если у вас нет возможности использовать отладчик Windows для решения этой проблемы, следует использовать некоторые основные методы устранения неполадок.
Если в сообщении об ошибке проверка обнаружен драйвер, отключите драйвер, чтобы изолировать проблему. Обратитесь к производителю за обновлениями драйверов.
Проверьте Просмотр событий системного входа на наличие дополнительных сообщений об ошибках, которые могут помочь определить устройство или драйвер, вызывающие проверка 0x133 ошибок.
Убедитесь, что любое новое установленное оборудование совместимо с установленной версией Windows. Например, для Windows 10 сведения о требуемом оборудовании можно получить на странице спецификаций Windows 10.
Дополнительные общие сведения об устранении неполадок см. в разделе Blue Screen Data.
См. также раздел
Анализ аварийного дампа с помощью отладчиков Windows (WinDbg)
Анализ файла дампа Kernel-Mode с помощью WinDbg
Bug Check Code Reference (Справочник с кодами критических ошибок)
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по