Làm thế nào để tìm nguồn của BSOD này? Làm thế nào để khắc phục nó?


8

Thỉnh thoảng tôi (luôn luôn ở thời điểm ít thuận tiện nhất ...) nhận được BSOD này trên máy tính để bàn Windows 7 của mình:

  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ố gắng tìm hiểu thêm thông tin về điều này dường như là vô ích vì tệp C:\Users\al\AppData\Local\Temp\WER-37500-0.sysdata.xmlkhông tồn tại (thư mục tồn tại, nhưng không phải bất kỳ tệp nào bắt đầu bằng "WER") và cố gắng phân tích tệp kết xuất nhỏ mang lại kết quả như sau:

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 

và:

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        

Chà, hal.dllntoskrnl.exelà một phần của HĐH và dường như tôi không thể làm gì để nâng cấp những "trình điều khiển" đó.

Tôi biết rằng phần cứng là hoàn hảo (bao gồm cả điện áp RAM trong BIOS, v.v.) bởi vì hệ thống chính xác này hoạt động hoàn hảo với Ubuntu 8Ubuntu 10(cấu hình ba khởi động). Vấn đề chắc chắn nằm ở phần mềm hệ thống, nhưng làm thế nào để tôi tìm ra nó là gì?


1
Chúng tôi có thể giúp bạn nếu Windows 7 là nguồn mở ...
m0skit0

3
Làm bất cứ bước từ [ở đây] ( sevenforums.com/crash-lockup-debug-how/... giúp đỡ?
AndrejaKo

2
@AndrejaKo Đây là một tài nguyên tuyệt vời. Trông giống như chính xác những gì tôi đã tìm kiếm. Vui lòng đăng lại như một câu trả lời và tôi sẽ chấp nhận nó. Cảm ơn +1 ngay bây giờ.
Người học vĩnh cửu

1
@Eternal Learner Đơn giản chỉ cần liên kết đến một câu trả lời không được coi là một câu trả lời ở đây tại SuperUser, nó sẽ vẫn là một bình luận trừ khi họ muốn sao chép toàn bộ nội dung của câu trả lời sang câu trả lời của SuperUser. Lý do chính cho điều này là thối liên kết và các trang web biến mất khỏi không gian ảo. Lý do thứ hai là SuperUser không phải là một diễn đàn.
Moab

Câu trả lời:


4
  1. Cài đặt Công cụ gỡ lỗi cho Windows .
  2. Sau khi cài đặt, mở WinDbg từ menu bắt đầu.
  3. Nhấp vào Tệp> Đường dẫn tệp Biểu tượng và nhập (thay thế C: \ SymbolCache bằng đường dẫn bạn chọn)SRVC:\SymbolCachehttp://msdl.microsoft.com/download/symbols
  4. Nhấp vào Tệp> Mở Crashdump và mở tệp memory.dmp trong% SystemRoot% của bạn (thường là C: \ WINDOWS hoặc C: \ WINNT) HOẶC tệp mới nhất trong% SystemRoot% \ Minidump nếu bạn đã tắt toàn bộ kết xuất.
  5. Trình điều khiển vi phạm sẽ được liệt kê bên dưới, tương tự như sau: Probably caused by : usbhub.sys ( usbhub!UsbhTrapFatalTimeout_x9f+28 )nhưng bạn có thể nhấp vào !analyze -vliên kết để có được dấu vết ngăn xếp chi tiết.

Điều này tốt cho các nhà phát triển trình điều khiển, không phải cho một quản trị viên.
Người học vĩnh cửu

@EternalLearner Nhưng nó cho bạn thấy nguồn BSOD, đây là một điều tốt.
kinokijuf

Vâng, đó là một điều tốt nhưng tôi đã nhận được tất cả thông tin đó từ BlueScreenView. Ưu điểm duy nhất !analyze -vlà khả năng hiển thị mã nguồn nếu tôi có nó và vì tôi không phải là nhà phát triển ntoskrnl.exe, nên nó không giúp tôi. Bên cạnh thực tế là nó nở rộ khủng khiếp và làm tổn hại thêm đến sự ổn định của hệ thống. Cài đặt nó chỉ hợp lý khi bạn phát triển trình điều khiển.
Người học vĩnh cửu

@EternalLearner Sau đó, tôi sợ không thể có thêm thông tin.
kinokijuf

2

Một cách đơn giản hơn nhiều sẽ là sử dụng BlueScreenView . Nếu bạn nhìn vào cột "Địa chỉ trong ngăn xếp", bạn có thể thấy cuộc gọi có vấn đề ban đầu đến từ đâu. Đây là hàng cuối cùng có một mục trong cột này.

Lấy tên tệp trình điều khiển, bạn có thể theo dõi lại nhà cung cấp / ứng dụng / thiết bị mà nó thuộc về và do đó tìm ra thủ phạm có xác suất cao.


1
BlueScreenView chính xác là nơi tôi lấy thông tin tôi đã đăng trong câu hỏi của mình. Back-track dừng lại ở những gì tôi đã đăng ban đầu : ntoskrnl.exe+18d513. Bình luận được đăng bởi @AndrejaKo là câu trả lời tốt nhất cho đến nay.
Người học vĩnh cửu
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.