Bagaimana menemukan sumber BSOD ini? Bagaimana memperbaikinya?

8

Saya kadang-kadang (selalu pada saat paling tidak nyaman ...) menerima BSOD ini di PC desktop Windows 7 saya:

  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

Mencoba mencari informasi lebih lanjut tentang ini tampaknya sia-sia karena file C:\Users\al\AppData\Local\Temp\WER-37500-0.sysdata.xmltidak ada (folder ada, tetapi tidak ada file yang dimulai dengan "WER"), dan berusaha menganalisis file minidump menghasilkan hal-hal berikut:

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 

dan:

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        

Ya, hal.dlldan ntoskrnl.exemerupakan bagian dari OS dan sepertinya tidak ada yang bisa saya lakukan untuk memutakhirkan "driver" tersebut.

Saya tahu bahwa perangkat kerasnya sempurna (termasuk voltase RAM di BIOS dll) karena sistem yang persis sama ini bekerja dengan baik Ubuntu 8dan Ubuntu 10(konfigurasi tiga boot). Masalahnya jelas dalam perangkat lunak sistem, tetapi bagaimana cara mengetahui apa itu?

Pelajar Abadi
sumber
1
Kami dapat membantu Anda jika Windows 7 adalah open source ...
m0skit0
3
Apakah ada langkah-langkah dari [sini] ( sevenforums.com/crash-lockup-debug-how/… membantu?
AndrejaKo
2
@AndrejaKo Ini adalah sumber yang bagus. Sepertinya persis apa yang saya cari. Silakan memposting ulang sebagai jawaban dan saya akan menerimanya. Terima kasih +1 untuk sekarang.
Eternal Learner
1
@Eternal Learner Cukup dengan menautkan ke jawaban tidak dianggap sebagai jawaban di sini di SuperUser, itu harus tetap menjadi komentar kecuali mereka ingin menyalin seluruh konten jawaban ke jawaban SuperUser. Alasan utama untuk ini adalah tautan busuk dan situs web yang hilang dari dunia maya. Alasan kedua adalah SuperUser bukan forum.
Moab

Jawaban:

4
  1. Instal Alat Debugging untuk Windows .
  2. Setelah Menginstal, buka WinDbg dari menu mulai.
  3. Klik File> Path File Symbol dan masukkan (ganti C: \ SymbolCache dengan path pilihan Anda)SRVC:\SymbolCachehttp://msdl.microsoft.com/download/symbols
  4. Klik File> Buka Crashdump dan buka file memory.dmp di% SystemRoot% Anda (biasanya C: \ WINDOWS atau C: \ WINNT) ATAU file terbaru di% SystemRoot% \ Minidump jika dump penuh dinonaktifkan.
  5. Driver yang melanggar akan dicantumkan di bawah ini, mirip dengan ini:, Probably caused by : usbhub.sys ( usbhub!UsbhTrapFatalTimeout_x9f+28 )tetapi Anda dapat mengklik !analyze -vtautan untuk mendapatkan jejak stack yang terperinci.
kinokijuf
sumber
Ini bagus untuk pengembang driver, bukan untuk admin.
Eternal Learner
@EternalLearner Tapi itu menunjukkan Anda sumber BSOD, yang merupakan hal yang baik.
kinokijuf
Ya itu hal yang baik tetapi saya sudah mendapatkan semua informasi itu dari BlueScreenView. Satu-satunya keuntungan !analyze -vadalah kemampuan untuk menunjukkan kode sumber jika saya memilikinya dan karena saya bukan pengembang ntoskrnl.exe, itu tidak membantu saya. Selain dari fakta bahwa itu sangat membengkak dan lebih lanjut membahayakan stabilitas sistem. Menginstalnya hanya dibenarkan ketika Anda mengembangkan driver.
Eternal Learner
@EternalLearner Maka saya takut tidak mungkin untuk mendapatkan info lebih lanjut.
kinokijuf
2

Cara yang lebih sederhana adalah menggunakan BlueScreenView . Jika Anda melihat ke kolom "Address In Stack", Anda dapat melihat dari mana panggilan bermasalah berasal. Ini adalah baris terakhir yang memiliki entri di kolom ini.

Mengambil nama file driver Anda dapat melacak kembali vendor / aplikasi / perangkat miliknya dan karena itu menemukan pelakunya dengan probabilitas tinggi.

Robert
sumber
1
BlueScreenView adalah tempat saya mengambil informasi yang saya posting di pertanyaan saya. Back-track berhenti di apa yang saya diposting awalnya: ntoskrnl.exe+18d513. Komentar yang diposting oleh @AndrejaKo adalah jawaban terbaik sejauh ini.
Eternal Learner