Як знайти джерело цього BSOD? Як це виправити?


8

Я періодично (завжди в найменш зручний момент ...) отримую цей BSOD на своєму робочому столі Windows 7:

  Problem signature:
  Problem Event Name:   BlueScreen
  OS Version:   6.1.7601.2.1.0.256.1
  Locale ID:    1033

  Additional information about the problem:
  BCCode:   124
  BCP1: 0000000000000000
  BCP2: FFFFFA8007BBB028
  BCP3: 00000000B2000040
  BCP4: 0000000000000800
  OS Version:   6_1_7601
  Service Pack: 1_0
  Product:  256_1

  Files that help describe the problem:
  C:\Windows\Minidump\010812-16578-01.dmp
  C:\Users\al\AppData\Local\Temp\WER-37500-0.sysdata.xml

Намагання дізнатися більше інформації про це видається марним, оскільки файл C:\Users\al\AppData\Local\Temp\WER-37500-0.sysdata.xmlне існує (папка існує, але не будь-який файл, який починається з "WER"), а спроба проаналізувати файл середнього підходу дає наступне:

Bug Check Code: 0x00000124
Parameter 1:    00000000`00000000
Parameter 2:    fffffa80`07bbb028
Parameter 3:    00000000`b2000040
Parameter 4:    00000000`00000800
Causing driver: hal.dll
Address:    hal.dll+12a3b
Processor:  x64
Crash address:  ntoskrnl.exe+7cc40
CPU count:  4
Major ver:  15
Minor ver:  7601
Dump size:  283,576 

і:

Filename:       ntoskrnl.exe
Addr. in Stack: ntoskrnl.exe+18d513
From addr:      fffff800`02a18000
To addr:        fffff800`03001000
Size:           0x005e9000
Timestamp:      0x4e02aaa3
Time string:    6/22/2011 9:53:23 PM
Product name:   Microsoft® Windows® Operating System
File desc:      NT Kernel & System
File ver:       6.1.7601.17640 (win7sp1_gdr.110622-1506)
Company:        Microsoft Corporation
Full path:      C:\Windows\system32\ntoskrnl.exe        

Ну, hal.dllі ntoskrnl.exeвони є частиною ОС, і, здається, нічого не можу зробити, щоб оновити ці "драйвери".

Я знаю, що апаратне забезпечення є ідеальним (включаючи напруги ОЗУ в BIOS тощо), оскільки ця сама точна система відмінно працює з Ubuntu 8і Ubuntu 10(конфігурація з потрійним завантаженням). Проблема, безумовно, в системному програмному забезпеченні, але як я можу дізнатися, що це таке?


1
Ми могли б вам допомогти, якщо Windows 7 була з відкритим кодом ...
m0skit0

3
Чи будь-який з кроків з [тут] ( sevenforums.com/crash-lockup-debug-how/… допомогти?
AndrejaKo

2
@AndrejaKo Це чудовий ресурс. Схоже, саме те, що я шукав. Будь ласка, повторно опублікуйте як відповідь, і я прийму її. Дякую +1 зараз.
Вічний учень

1
@ Вічний учень Просто посилання на відповідь не вважається відповіддю тут у SuperUser, воно повинно залишатися коментарем, якщо вони не хочуть скопіювати весь вміст відповіді на відповідь SuperUser. Основна причина цього - гниття посилань та веб-сайти, які зникають з кіберпростору. Друга причина - SuperUser - це не форум.
Моав

Відповіді:


4
  1. Встановіть Інструменти налагодження для Windows .
  2. Після встановлення відкрийте WinDbg у меню "Пуск".
  3. Клацніть Файл> Шлях файлу символу та введіть (замініть C: \ SymbolCache на обраний вами шлях)SRVC:\SymbolCachehttp://msdl.microsoft.com/download/symbols
  4. Клацніть Файл> Відкрити Crashdump і відкрийте файл memory.dmp у вашому% SystemRoot% (зазвичай це C: \ WINDOWS або C: \ WINNT) АБО найновіший файл у% SystemRoot% \ Minidump, якщо у вас повноцінні демпфи відключені.
  5. Драйвер-порушник буде перерахований нижче, подібний до цього:, Probably caused by : usbhub.sys ( usbhub!UsbhTrapFatalTimeout_x9f+28 )але ви можете натиснути !analyze -vпосилання, щоб отримати детальний слід стека.

Це добре для розробників драйверів, а не для адміністратора.
Вічний учень

@EternalLearner Але це показує вам джерело BSOD, що добре.
kinokijuf

Так, це гарна річ, але я вже отримую всю цю інформацію BlueScreenView. Єдиною перевагою !analyze -vє можливість показу вихідного коду, якщо він у мене є, і оскільки я не розробник ntoskrnl.exe, він мені не допомагає. Крім того, що вона жахливо роздута і ще більше ставить під загрозу стабільність системи. Встановлення цього виправдане лише тоді, коли ви розробляєте драйвери.
Вічний учень

@EternalLearner Тоді я боюся, що неможливо отримати додаткову інформацію.
kinokijuf

2

Набагато простішим способом було б використання BlueScreenView . Якщо ви заглянете в стовпчик "Адреса в стеку", ви можете побачити, звідки походить проблемний дзвінок. Це останній рядок, який містить запис у цьому стовпці.

Отримавши ім’я файлу драйвера, ви можете відслідковувати постачальника / програми / пристрою, до якого він належить, і, отже, знайти винуватця з високою ймовірністю.


1
BlueScreenView - саме там я взяв інформацію, яку я розмістив у своєму запитанні. Назад-трек зупиняється на те , що я писав спочатку: ntoskrnl.exe+18d513. Коментар, опублікований @AndrejaKo, - найкраща відповідь досі.
Вічний учень
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.