Была сделана попытка затронуть виртуальную память на внутреннем процессе IRQ уровня, который слишком высок. Если kernel debugger доступен, вы можете отследить, где именно система запнулась.
Наиболее частая причина возникновения - драйвер устройства использует неверный адрес.
Параметры:
1 - адрес, по которому выполнено ошибочное обращение
2 - IRQL, который использовалcя для обращения к памяти
3 - тип доступа к памяти: 0 = операция чтения, 1 = операция записи
4 - адрес инструкции, которая затребовала доступ к памяти по адресу
Примечание: Эта ошибка возникает в 99% из-за "кривых" драйверов. Некоторые из них в Windows XP вы можете обнаружить, используя утилиту verifier.exe: Start (Пуск) => Run (Выполнить) => verifier.exe
Windows NT:
1. Microsoft Windows NT Server 4.0 Terminal Server Edition
2. Microsoft Windows 2000 Server
3. Microsoft Windows 2000 Advanced Server
4. Microsoft Windows 2000 Professional
5. Microsoft Windows NT Server 3.5
6. Microsoft Windows NT Server 3.51
7. Microsoft Windows NT Server 4.0
8. Microsoft Windows NT Workstation 3.5
9. Microsoft Windows NT Workstation 3.51
10. Microsoft Windows NT Workstation 4.0
11. Microsoft Windows NT Advanced Server 3.5
12. Microsoft Windows NT Server, Enterprise Edition 4.0
Одна из самых частово зникающих ошибок Windows NT - STOP 0x0000000A. Этот STOP может быть вызван как Программным Обеспечением, так и проблемой с оборудованием. Для выявления причин вы должны разобрать этот STOP, используя дебагер. Тем не менее, некоторые выводы можно сделать, рассмотрев параметры STOP сообщения и сообщения сопутствующего этот STOP.
Дополнительная информация:
STOP 0x0000000A показывает, что процесс ядра или драйвер пытались обратиться к памяти, к которой у них нет разрешения обращаться. Самая обычная причина - это плохой или повреждённый указатель (pointer), который указывает на неправильный участок в памяти. Указатель (pointer) - это переменная, которая используется программой, для указания на блок в памяти. Если переменная имеет неправильное значение, тогда программа пытается обратиться к памяти, к которой не должна обращаться. Когда это происходит в программе пользователя, она генерирует нарушение доступа. Когда это происходит в режиме ядра, она генерирует STOP 0x0000000A сообщение.
Чтобы выявить какой процесс или драйвер пытался обратиться к памяти, к которой не должен был, посмотрите на параметры, указанные на STOP экране. Например, в этом STOP сообщении:
STOP 0x0000000A(0xWWWWWWWW, 0xXXXXXXXX, 0xYYYYYYYY, 0xZZZZZZZZ)
IRQL_NOT_LESS_OR_EQUAL
** Адрес 0xZZZZZZZZ основывается на -
Четыре параметра имеют следующие значения:
0xWWWWWWWW адрес, который был указан некорректно
0xXXXXXXXX IRQL, который требуется, чтобы иметь доступ к памяти
0xYYYYYYYY Тип доступа, 0=Читать, 1=Писать
0xZZZZZZZZ адрес инструкции, которая пыталась обратиться к памяти 0xWWWWWWWW
Если последний параметр (0xZZZZZZZZ) указывает на область адресов системных устройств, вы будите знать, драйвер какого устройства был запущен во время ошибки. Этот драйвер обычно указан на третьей линии STOP экрана:
** Адрес 0xZZZZZZZZ основывается на -
Если специфический драйвер, сделайте поиск в Microsoft Knowledge Base на слово "0x0000000A" и имя драйвера. Если вы не найдёте никаких подходящих статей, свяжитесь с Microsoft Product Support.
Windows 2000:
По роду своей работы в сфере IT мне достаточно часто приходится сталкиваться с проблемами не всегда стандартными для IT сферы. Так же заметки со ссылками на статьи которые очень часто на практике выручали, держать на своем компе стало не удобно. По этой причине создан этот блог - записная книжка статей и заметок. Авторов статей прошу не обижаться если местами забыл сделать на них обратную ссылку. Пишите в комментариях все обязательно поправлю..