headermask image


Advertisement

Что делать если получили BSOD? Способ ковыряния в дампе Windows

Ну вот случилось у нас, к примеру,  несчастье. Нехороший windows вывалился в BSOD – blue screen of death. Что? Почему? Как это? Самый трезывый из этих вопрос: из-за чего?

Видим, к примеру, строку PAGE_FAULT_IN_NONPAGED_AREA, что нам с ней дальше делать? А какой это драйвер глюканул? А может и не драйвер вовсе?

dump_shot1.gif

Мелкософт для анализа подобных ситуаций предоставляет инструмент для отладки: WinDbg, который у них и доступен для бесплатного скачивания около 13,8Мб. Тут надо оговориться, что для полного счастья этому дебаггеру не будет хватать библиотек виндовых symbols (который на самом-то деле и весит примерно 130Мб).

По умолчанию нехороший виндовс делает два дампа: большой, и маленький. Большой дамп содержит всю используемую в момент ошибки память и находится в корне системы, это MEMORY.DMP, маленький дамп тоже подходит для анализа, и обнаружить все выпущенные системой минидампы можно в c:\windows\minidump\, типичное имя файла – Mini011106-14.dmp, дата, номер.

Открываем в windbg из меню как показано на скриншоте.
Загружается дамп и выводит почти пригодную информацию для осознания случившегося.

Рекомендую скачать символьную базу для x86 XP, 2003 архитектур и подключить в бебаггере указав правильные пути.

В командной строке дебаггера запускаем команду !analyze -v и получаем еще более детальный отчет, который я и привожу ниже.

В частности из анализа этого дампа можно сделать вывод о том, что ошибка возникла на системном уровне, вследствие переполнения стека. Виновником является что-то низкоуровневое. Способ побороть – писать в Microsoft и ждать хотфикс.

———————————————

Microsoft (R) Windows Debugger  Version 6.6.0003.5
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C:\MEMORY.DMP]
Kernel Summary Dump File: Only kernel address space is available

Symbol search path is: C:\WINDOWS\Symbols
Executable search path is:
Windows Server 2003 Kernel Version 3790 (Service Pack 1) MP (2 procs) Free x86 compatible
Product: Server, suite: Enterprise TerminalServer
Built by: 3790.srv03_sp1_rtm.050324-1447
Kernel base = 0×80800000 PsLoadedModuleList = 0x808af988
Debug session time: Mon Feb  6 18:04:31.040 2006 (GMT+2)
System Uptime: 0 days 7:52:05.481
Loading Kernel Symbols
……………………………………………………………………………………………………
Loading User Symbols
PEB is paged out (Peb.Ldr = 7ffdc00c).  Type “.hh dbgerr001″ for details
Loading unloaded module list
………
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

Use !analyze -v to get detailed debugging information.

BugCheck 50, {fdffa9f8, 0, 8089b522, 0}

Probably caused by : ntkrnlmp.exe ( nt!ExFreePoolWithTag+28b )

Followup: MachineOwner
———

0: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

PAGE_FAULT_IN_NONPAGED_AREA (50)
Invalid system memory was referenced.  This cannot be protected by try-except,
it must be protected by a Probe.  Typically the address is just plain bad or it
is pointing at freed memory.
Arguments:
Arg1: fdffa9f8, memory referenced.
Arg2: 00000000, value 0 = read operation, 1 = write operation.
Arg3: 8089b522, If non-zero, the instruction address which referenced the bad memory
address.
Arg4: 00000000, (reserved)

Debugging Details:
——————
READ_ADDRESS:  fdffa9f8 Nonpaged pool expansion

FAULTING_IP:
nt!ExFreePoolWithTag+28b
8089b522 668b4602         mov     ax,[esi+0x2]

MM_INTERNAL_CODE:  0

DEFAULT_BUCKET_ID:  INTEL_CPU_MICROCODE_ZERO

BUGCHECK_STR:  0×50

CURRENT_IRQL:  1

LAST_CONTROL_TRANSFER:  from 808689ee to 8087b6be

STACK_TEXT:
abd37abc 808689ee 00000050 fdffa9f8 00000000 nt!KeBugCheckEx+0x1b
abd37b0c 80837d0a 00000000 fdffa9f8 00000000 nt!MmAccessFault+0×813
abd37b0c 8089b522 00000000 fdffa9f8 00000000 nt!KiTrap0E+0xdc
abd37be4 8093aeba fdffa9fe 00000000 e3b6d188 nt!ExFreePoolWithTag+0x28b
abd37c00 8091a265 e3b6d188 00000d80 abd37c3c nt!CmpCleanUpKcbValueCache+0×51
abd37c10 8097b9ca e3b6d188 8ad3e801 00000000 nt!CmpCleanUpKcbCacheWithLock+0×15
abd37c3c 8097ba85 005e8368 8ad3e801 e3dc24b0 nt!CmpCleanUpKCBCacheTable+0×110
abd37c68 8097a4a1 e25e8368 00000000 8ad3e801 nt!CmpSearchForOpenSubKeys+0×36
abd37ca0 809765d0 e3dc29f8 00000000 01000003 nt!CmUnloadKey+0xb2
abd37d48 80977be6 0185f764 00000000 abd37d64 nt!NtUnloadKey2+0×212
abd37d58 80834d3f 0185f764 0185f77c 7c82ed54 nt!NtUnloadKey+0xf
abd37d58 7c82ed54 0185f764 0185f77c 7c82ed54 nt!KiFastCallEntry+0xfc
WARNING: Frame IP not in any known module. Following frames may be wrong.
0185f77c 00000000 00000000 00000000 00000000 0x7c82ed54
STACK_COMMAND:  .bugcheck ; kb

FOLLOWUP_IP:
nt!ExFreePoolWithTag+28b
8089b522 668b4602         mov     ax,[esi+0x2]

FAULTING_SOURCE_CODE:
SYMBOL_STACK_INDEX:  3

FOLLOWUP_NAME:  MachineOwner

SYMBOL_NAME:  nt!ExFreePoolWithTag+28b

MODULE_NAME:  nt

IMAGE_NAME:  ntkrnlmp.exe

DEBUG_FLR_IMAGE_TIMESTAMP:  42435e60

FAILURE_BUCKET_ID:  0x50_nt!ExFreePoolWithTag+28b

BUCKET_ID:  0x50_nt!ExFreePoolWithTag+28b

Followup: MachineOwner
———

Источник: it-expert.com.ua 

Похожие посты
  • Как установить программу на комп если установка программ запрещена администратором
  • Почти готов Windows Server 2008, плагин для Firefox, создание своего дистриба Ubuntu
  • Юмор. Что делают кошки ночью.
  • Если бы пользователи общались с таксистами, как с сисадминами
  • Миграция с Windows XP в Windows 7 с помощью MDT 2010
  • WSUS станет опциональной ролью для Windows Server 2008 Server Manager
  • 1 октября. Веб-трансляция “Windows Server Core: отличия от полной версии Windows Server 2008. Варианты применения.”
  • Опять squid в Windows
  • Веб-трансляция: Особенности служб сертификации в Windows Server 2008
  • Пошаговые руководства по Windows Server 2008 на русском
  • Комментарии

    Your email is never published nor shared. Required fields are marked *

    *
    *