1. Skip to Menu
  2. Skip to Content
  3. Skip to Footer

Анализ причин появления синего экрана смерти (BSOD)

 

Первым делом необходимо удостовериться, что у нас есть файл дампа памяти по пути: c:\windows\memory.dmp

Далее требуется скачать Microsoft Windows SDK по адресу http://www.microsoft.com/en-us/download/details.aspx?id=8442 и установить его:

Если установка заканчивается ошибкой, то, скорее всего, вам необходимо удалить пакет Visual C++ 2010 redistributable, после чего повторно запустить установку.

Для запуска отладчика Windows в командной строке наберите команду windbg. В открывшейся программе нажмите File – Open Crash Dump… и укажите ваш файл дампа памяти. Появится следующее окно:

Здесь мы видим ошибку о том, что корректные символы не используются:

Your debugger is not using the correct symbols

Для решения этой проблемы необходимо в переменных окружения Windows создать новую системную переменную со следующим названием и значением:

Имя переменной: _NT_SYMBOL_PATH

Значение переменной: symsrv*symsrv.dll*c:\localsymbols*http://msdl.microsoft.com/download/symbols

После создания переменной необходимо создать папку на диске «C» с именем localsymbols, куда будут автоматически скачены необходимые набооры символов.

Теперь еще раз открываем отладчик, заходим в меню File – Symbol File Path… и вписываем туда такую строку:

SRV*C:\localsymbols*http://msdl.microsoft.com/download/symbols

после чего заново открываем файл дампа памяти.

Как только в окне отладчика увидите сообщение Followup: MachineOwner, жмите по надписи «!analize v» для более детального анализа:

По окончании анализа файла будет выведена следующая информация:

DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)
 
An attempt was made to access a pageable (or completely invalid) address at an interrupt request level (IRQL) that is too high. This is usually caused by drivers using improper addresses.
If kernel debugger is available get stack backtrace.
Arguments:
Arg1: 4200a400, memory referenced
Arg2: 00000002, IRQL
Arg3: 00000000, value 0 = read operation, 1 = write operation
Arg4: 92b8c13f, address which referenced memory
 
Debugging Details:
------------------
 
 
READ_ADDRESS: 4200a400
 
CURRENT_IRQL: 2
 
FAULTING_IP: nwifi!ExtSTAFilterBeforeReassemble+3b3
92b8c13f 668b3447       mov     si,word ptr [edi+eax*2]
 
DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT
 
BUGCHECK_STR: 0xD1
 
PROCESS_NAME: System
 
TRAP_FRAME: 82d768dc -- (.trap 0xffffffff82d768dc)
ErrCode = 00000000
eax=00000000 ebx=87b41010 ecx=a400b500 edx=87ba8008 esi=00000018 edi=4200a400
eip=92b8c13f esp=82d76950 ebp=82d769c8 iopl=0         nv up ei ng nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000             efl=00010286
nwifi!ExtSTAFilterBeforeReassemble+0x3b3:
92b8c13f 668b3447       mov     si,word ptr [edi+eax*2] ds:0023:4200a400=????
Resetting default scope
 
LAST_CONTROL_TRANSFER: from 92b8c13f to 82c8fc7b
 
STACK_TEXT:
82d768dc 92b8c13f badb0d00 87ba8008 00000000 nt!KiTrap0E+0x2cf
82d769c8 92b8c7d1 82d769e8 87ba8008 87d43228 nwifi!ExtSTAFilterBeforeReassemble+0x3b3
82d769ec 92b6e40c 00000001 82d76a0c 00000001 nwifi!ExtSTAReceivePacket+0x10d
82d76a3c 92b6f40e 87ba8008 92b991a0 8641df00 nwifi!WPP_SF_qdd+0x358
82d76a60 8992e553 87b9ab20 87d43228 00000000 nwifi!Pt6Receive+0x14a
82d76a88 898d9c88 87a810e0 8641df00 00000000 ndis!ndisMIndicateReceiveNetBufferListsInternal+0x62
82d76ab0 92aea72a 87a810e0 8641df00 00000000 ndis!NdisMIndicateReceiveNetBufferLists+0x52
WARNING: Stack unwind information not available. Following frames may be wrong.
82d76af0 92aea303 87aa6c98 00000000 00000002 athrusb+0xb72a
82d76b04 92b2260e 87aa6c98 8590a260 00000001 athrusb+0xb303
82d76b20 92b2422a 87abb020 00000002 87b294b8 athrusb+0x4360e
82d76b4c 82cc6d83 00000000 8590a260 87b42bb8 athrusb+0x4522a
82d76b90 91f1b30d 82c89788 85b51008 00000000 nt!IopfCompleteRequest+0x128
82d76bc0 91f1bf55 886a16e8 8590a260 858237e8 USBPORT!USBPORT_Core_iCompleteDoneTransfer+0x6e0
82d76bec 91f1c6f6 86ca6028 86ca60f0 86ca6a98 USBPORT!USBPORT_Core_iIrpCsqCompleteDoneTransfer+0x33b
82d76c14 91f189ce 86ca6028 86ca6a98 86ca6002 USBPORT!USBPORT_Core_UsbIocDpc_Worker+0xbc
82d76c38 83ee1e31 86ca6aa4 86ca6002 00000000 USBPORT!USBPORT_Xdpc_Worker+0x173
82d76c78 82cc6625 86ca6aa4 86ca6a98 00000000 sptd+0x18e31
82d76cd4 82cc6488 82d79d20 82d83380 00000000 nt!KiExecuteAllDpcs+0xf9
82d76d20 82cc62a8 00000000 0000000e 00000000 nt!KiRetireDpcList+0xd5
82d76d24 00000000 0000000e 00000000 00000000 nt!KiIdleLoop+0x38
 
STACK_COMMAND: kb
 
FOLLOWUP_IP:
nwifi!ExtSTAFilterBeforeReassemble+3b3
92b8c13f 668b3447       mov     si,word ptr [edi+eax*2]
 
SYMBOL_STACK_INDEX: 1
 
SYMBOL_NAME: nwifi!ExtSTAFilterBeforeReassemble+3b3
 
FOLLOWUP_NAME: MachineOwner
 
MODULE_NAME: nwifi
 
IMAGE_NAME: nwifi.sys
 
DEBUG_FLR_IMAGE_TIMESTAMP: 4a5bc89f
 
FAILURE_BUCKET_ID: 0xD1_nwifi!ExtSTAFilterBeforeReassemble+3b3
 
BUCKET_ID: 0xD1_nwifi!ExtSTAFilterBeforeReassemble+3b3

Здесь главное внимание требуется уделить строкам MODULE_NAME и IMAGE_NAME:

На сайте http://systemexplorer.net/file-database можем найти, за что отвечает сбойный драйвер nwifi.sys:

В нашем случае, используется нативный (родной) драйвер Windows для WiFi адаптера. Можно попробовать скачать последнюю версию драйвера с сайта производителя, что должно решить проблему сбоя в работе компьютера.

 

 

Добавить комментарий