Computer >> Máy Tính >  >> Hệ thống >> Windows

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Màn hình xanh chết chóc của Windows (BSOD) không phải là thứ bạn muốn nhìn thấy trên màn hình máy tính của mình, trừ khi bạn đang sử dụng một trình bảo vệ màn hình hoặc phần mềm thử nghiệm nhất định. Nhưng đôi khi, người dùng Windows gặp phải trường hợp lỗi phần mềm nghiêm trọng nhất, đó là lỗi của chính nhân, dẫn đến đóng băng toàn bộ hệ thống và cuối cùng là sự cố.

Trong Linux, loại tình huống này được gọi là hoảng loạn hạt nhân. Trong Windows, nó được gọi là BSOD. Nhưng nó có cùng một thứ:một ngoại lệ quan trọng, không thể phục hồi trong lõi của hệ thống, hạt nhân và các trình điều khiển đi kèm.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Giới thiệu vi mô

Sau khi thực hiện một loạt bài siêu dài và cực kỳ táo bạo về sự cố Linux, bắt đầu với các công cụ kết xuất sự cố kernel, tiếp tục với các thiết lập trên openSUSE và CentOS và kết thúc bằng phân tích chuyên sâu, tôi muốn cung cấp cho người dùng Windows một hướng dẫn ngắn hơn và phiên bản phân tích BSOD ít lập dị hơn. Có hai lý do cho việc này:một, tôi không thể đi sâu như tôi muốn, vì các nguồn Windows đã bị đóng; hai, tôi không thành thạo trong việc tìm hiểu nhân Windows như khi tôi làm việc với Linux. Bất chấp điều đó, hướng dẫn này vẫn sẽ khá kỳ lạ và vượt xa các yêu cầu, nhu cầu hoặc mong muốn của một người dùng bình thường. Tuy nhiên, nếu bạn muốn tìm hiểu thêm một chút về nội bộ Windows và có được các kỹ năng mới giúp chẩn đoán các sự cố hệ thống cốt lõi, thì bạn đã đến đúng nơi.

Bây giờ chúng ta hãy bắt đầu.


Mục lục


  1. Câu hỏi
    1. Điều gì gây ra Màn hình xanh chết chóc?
  2. Kích hoạt bộ sưu tập BSOD
  3. Bộ sưu tập BSOD
    1. Trình xác minh trình điều khiển
  4. Chẩn đoán BSOD
    1. Gói biểu tượng Windows
    2. Công cụ phân tích BSOD 1:WhoCrashed
    3. Công cụ phân tích BSOD 2:Nirsoft
    4. Công cụ phân tích BSOD 3:Trình gỡ lỗi Windows (Windbg)
  5. Ví dụ BSOD
    1. Bắt đầu BSOD (sử dụng StartBlueScreen)
  6. Phân tích BSOD
    1. Kết quả WhoCrashed
    2. Kết quả Nirsoft BlueScreenView
    3. Kết quả của Trình gỡ lỗi Windows
    4. Truy xuất các ký hiệu chính xác trực tuyến!
    5. Các lệnh &tùy chọn Trình gỡ lỗi khác
    6. Tiếp theo là gì?
    7. Gửi thông tin kết xuất hạt nhân để phân tích
  7. Nội dung bổ sung
    1. Chẩn đoán bộ nhớ
  8. Tài liệu tham khảo
    1. Làm thế nào để biểu tượng trực tuyến
    2. Các tài nguyên hữu ích khác
  9. Kết luận

Câu hỏi

Trước khi tìm hiểu về biệt ngữ công nghệ, hãy trả lời một số câu hỏi liên quan đến BSOD.

Điều gì gây ra Màn hình xanh chết chóc?

Không có câu trả lời đơn giản. Giờ đây, một người dùng Windows lâu năm sẽ biết rằng một số người gặp phải BSOD rất thường xuyên trong khi những người khác hoàn toàn không thấy chúng, trong khi tất cả họ đều chạy khá giống Windows.

Nhiều trải nghiệm bắt nguồn từ thực tế là BSOD thường không bao giờ do các thành phần của Microsoft Windows gây ra. Trong khi hầu hết mọi người muốn đổ lỗi cho Windows về các sự cố, họ hiếm khi gây ra bởi chính hệ điều hành.

Kinh nghiệm cá nhân của tôi như sau:

Trên hai máy Windows có tổng thời gian hoạt động là 10 năm, tôi chỉ gặp BSOD hai lần, một lần trên mỗi máy chủ. Khi nó xảy ra, hai vụ tai nạn xảy ra cách nhau chưa đầy một giờ.

Bạn có thể cho rằng điều này là do bản cập nhật Windows gần đây hoặc một trong các chương trình đang chạy. Thật vậy, đây có vẻ là một kết quả tốt, đặc biệt khi hai máy có thiết lập phần cứng và phần mềm gần như giống hệt nhau. Nhưng đây không phải là lỗi phần mềm.

Điều thực sự xảy ra là card đồ họa quá nóng. Đơn giản vậy thôi. Đó là một ngày nóng khủng khiếp và các card đồ họa vượt quá phạm vi nhiệt độ bình thường của chúng.

Tất cả các trường hợp BSOD khác mà tôi gặp phải trên các máy khác đều liên quan đến trình điều khiển xấu, trục trặc hoặc lỗi được cài đặt bởi phần mềm hoặc phần cứng, bao gồm thẻ Không dây, các chương trình bảo mật, v.v. Tôi chưa bao giờ thấy một trong những thành phần cốt lõi của Windows phát ra tiếng kêu. Chỉ cần làm rõ, chúng tôi đang nói chuyện sử dụng nhà ở đây.

Bây giờ chúng ta đã biết mình đang nói về điều gì, hãy bắt đầu nghiên cứu khoa học.

Kích hoạt bộ sưu tập BSOD

Để sử dụng hiệu quả các công cụ hệ thống tích hợp sẵn, bạn cần kích hoạt Windows của mình để thu thập các bãi chứa sự cố, được gọi là các bãi chứa nhỏ. Điều này tương tự như kích hoạt LKCD hoặc Kdump trong Linux. Theo mặc định, kết xuất bộ nhớ nhân Windows được bật, vì vậy bạn chỉ cần xem qua và đảm bảo rằng các cài đặt là chính xác.

Bạn có thể định cấu hình bộ sưu tập BSOD bằng cách nhấp chuột phải vào Máy tính trong menu Explorer, Thuộc tính, Hệ thống, Nâng cao, Khởi động và Khôi phục. Ở nửa dưới, bên dưới Lỗi hệ thống, bạn cần định cấu hình các tham số.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Bạn có thể chọn ghi lại các sự cố vào nhật ký hệ thống, tự động khởi động lại hệ thống hoặc ghi đè lên các tệp hiện có. Tôi khuyên bạn không nên ghi đè lên các tập tin. Giữ lại thông tin để so sánh và phân tích sau này luôn là một điều tốt.

Một điều khác cần chú ý là hộp thả xuống Viết thông tin gỡ lỗi. Tại đây, bạn có thể chỉ định phần bộ nhớ muốn lưu khi máy gặp sự cố. Điều này rất giống với Kdump DUMPLEVEL.

Bạn có các tùy chọn sau:

Kết xuất bộ nhớ nhỏ - Chỉ tệp cơ bản chứa thông tin sự cố. Đây là giá trị hạn chế, vì bạn không có dấu vết của các tệp thực thi và tệp DLL được tải vào bộ nhớ. Trên Windows XP, tệp này có kích thước 64K. Trên Windows 7, nó là 128K.

Kết xuất bộ nhớ hạt nhân - Điều này sẽ kết xuất phần bộ nhớ chỉ chứa hạt nhân, điều này là đủ trong hầu hết các trường hợp, vì sự cố hạt nhân sẽ do lỗi hạt nhân hoặc một trong các trình điều khiển gây ra.

Complete memory dump - Thao tác này sẽ kết xuất toàn bộ nội dung của RAM.

Khi bạn đã hài lòng với các cài đặt, hãy nhấp vào OK. Bây giờ chúng ta có thể bắt đầu phân tích.

Bộ sưu tập BSOD

Tìm ra nguyên nhân gốc rễ của nhiều vụ tai nạn không dễ dàng. Các sự cố phần cứng có thể và sẽ gây ra hành vi thất thường và không dự đoán được có thể biểu hiện ở nhiều triệu chứng khác nhau mà không cho phép bạn xác định chính xác sự cố. Các vấn đề về phần mềm sẽ dễ chẩn đoán hơn.

Nếu và khi BSOD xảy ra, nhiệm vụ đầu tiên của bạn là cố gắng cách ly các thành phần có vấn đề và khiến chúng kích hoạt lại BSOD. Nếu bạn có thể tái tạo vấn đề, bạn sẽ có thể giải quyết nó.

Trình xác minh trình điều khiển

Nếu đang cố khắc phục sự cố BSOD, bạn nên sử dụng Trình xác minh trình điều khiển.

Trình xác minh trình điều khiển là một công cụ mạnh mẽ và có thể thực hiện nhiều việc, chẳng hạn như chạy trình điều khiển trong nhóm bộ nhớ riêng biệt, không chia sẻ bộ nhớ với các thành phần khác, cung cấp áp suất bộ nhớ cực cao, xác thực tham số, kiểm tra dỡ tải, v.v.

Để bắt đầu sử dụng Trình xác minh, hãy định vị tệp thực thi và khởi động nó. Trên Windows XP, bấm Bắt đầu> Chạy> Trình xác minh. Trên Windows 7, nhập Trình xác minh vào hộp tìm kiếm nội tuyến và nhấn Enter.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Sau khi Trình xác minh được khởi động, bạn sẽ cần định cấu hình nó. Bạn có thể tạo cài đặt tiêu chuẩn phù hợp với hầu hết mọi người hoặc định cấu hình cài đặt tùy chỉnh, chủ yếu hữu ích cho các nhà phát triển mã. Bạn cũng có thể hiển thị các tác vụ, xóa tác vụ hoặc hiển thị thông tin cho các trình điều khiển hiện đã được xác minh.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Trong màn hình menu tiếp theo, bạn cần chọn trình điều khiển nào bạn muốn kiểm tra:trình điều khiển chưa được ký, trình điều khiển được tạo cho các phiên bản Windows cũ hơn hoặc tất cả trình điều khiển. Vì bạn chưa biết vấn đề thực sự là gì, hãy chọn tất cả.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Bước tiếp theo là khởi động lại. Trình xác minh sẽ tiêu tốn rất nhiều CPU và làm chậm máy đáng kể. Bạn cũng có thể gặp sự cố bổ sung. Trình xác minh sẽ vô hiệu hóa các trình điều khiển bị lỗi giữa BSOD và khởi động lại cho đến khi bạn đến được màn hình nền. Bạn cũng có thể đã thu thập được một số kết xuất nhỏ.

Bây giờ bạn có thể tắt Trình xác minh. Khởi động ứng dụng và xóa các cài đặt hiện có.

Ngoài ra, nếu máy của bạn không thể khởi động vào máy tính để bàn do Trình xác minh, bạn có thể tắt công cụ này bằng cách khởi chạy cấu hình Last known Good hoặc khởi động vào chế độ An toàn.

OK, kết xuất nhỏ đã được thu thập, hãy phân tích.

Chẩn đoán BSOD

Để chẩn đoán các kết xuất nhỏ, bạn sẽ cần một số công cụ. Nếu bạn nhớ lại các hướng dẫn về Linux, thì điều kiện tiên quyết để sử dụng sự cố là phải biên dịch hạt nhân với các biểu tượng gỡ lỗi và các gói thông tin gỡ lỗi được cài đặt.

Gói Biểu tượng Windows

Chà, Windows cũng không khác. Để thực hiện một phân tích thích hợp, bạn sẽ cần các biểu tượng. Bạn sẽ cần tải xuống và cài đặt các biểu tượng khớp chính xác với phiên bản nhân Windows của mình. Nếu không, phân tích sẽ không chính xác. Một lần nữa, không khác gì Linux về vấn đề này.

Tôi sẽ chỉ cho bạn sau một ví dụ về điều này.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Sau khi các biểu tượng được cài đặt, bạn sẽ cần một công cụ để đọc và giải thích dữ liệu sự cố. Tôi sẽ chỉ cho bạn ba công cụ như vậy, bắt đầu với công cụ dễ nhất và từ từ leo lên ngọn đồi đam mê.

Công cụ phân tích BSOD 1:WhoCrashed

WhoCrashed là một công cụ đơn giản, hiệu quả cho phép bạn tìm ra trình điều khiển nào gây ra sự cố cho máy. Nó rất đơn giản để sử dụng và không yêu cầu chuyên môn, mặc dù để phân tích đúng cách thì Công cụ này yêu cầu phải cài đặt Trình gỡ lỗi Windows.

Công cụ phân tích BSOD 2:Nirsoft

Nếu bạn thậm chí còn chưa biết nhiều về Windows, thì bạn hẳn đã nghe nói về các công cụ Nirsoft, một bộ sưu tập các tiện ích Windows cực kỳ linh hoạt do Nir Sofer phát triển và duy trì. Cụ thể, chúng tôi muốn có công cụ chẩn đoán có tên là BlueScreenView, được sử dụng để phân tích các kết xuất bộ nhớ nhân Windows. Trên hết, công cụ nhỏ hữu ích này được bao gồm trong hộp công cụ phong cách dao siêu mạnh của Quân đội Thụy Sĩ có tên là Nirlauncher, là một bộ sưu tập hơn một trăm ứng dụng do Nir phát triển. Không phải vô cớ mà trang web của Nir lại có trong danh sách Tuyệt vời nhất của tôi.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Hơn nữa, Nir Sofer cũng có một công cụ để khởi tạo BSOD, vì vậy bạn có thể mô phỏng các sự cố. Công cụ này được gọi là StartBlueScreen và được bao gồm trong gói Nirlauncher. Để biết thêm chi tiết về Nirlauncher, bạn có thể muốn đọc bài đánh giá của tôi về phần mềm.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Chúng ta sẽ sớm nói về cả hai chương trình này.

Công cụ phân tích BSOD 3:Windows Debugger (Windbg)

Trình gỡ lỗi Windows là một công cụ đa mục đích mà bạn có thể sử dụng để khắc phục mọi sự cố, bao gồm trình điều khiển, ứng dụng và dịch vụ trên hệ thống Windows.

Trình gỡ lỗi Windows được bao gồm trong Windows SDK.

Trên Windows 7, khi cài đặt Trình gỡ lỗi, bạn có thể gặp lỗi .NET Framework 4. Bạn có thể bỏ qua nó, miễn là bạn không cố gắng làm việc với các ứng dụng được phát triển trong .NET framework. Trong trường hợp của chúng tôi, chúng tôi có thể tiến hành một cách an toàn.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Trong menu cài đặt, bạn có thể chọn thành phần nào bạn muốn. Chúng tôi muốn Công cụ gỡ lỗi cho Windows, trong Tiện ích chung.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Trình gỡ lỗi Windows trông không thú vị lắm khi được khởi chạy, nhưng nó là một công cụ mạnh mẽ cần khá nhiều thời gian để làm quen và hoạt động đúng cách. Nó tương tự như GDB trong Linux, vì nó có thể được sử dụng để kiểm tra các nguồn, đính kèm vào các quy trình đang chạy, kiểm tra các kết xuất hạt nhân, v.v.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Ví dụ BSOD

Bắt đầu BSOD (sử dụng StartBlueScreen)

Để xem các công cụ này hoạt động, chúng tôi cần có BSOD. Chạy Trình xác minh trên máy Windows 7 của tôi không tạo ra hiệu ứng xấu nào. Vì vậy, chúng tôi sẽ phải thử công cụ NirSoft StartBlueScreen mà tôi đã đề cập trước đó.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

StartBlueScreen là một công cụ dòng lệnh. Nó cần được chạy với một số tham số, từ đó sẽ kích hoạt BSOD. Để thực thi BSOD, bạn cần sử dụng tài khoản Quản trị viên trên hộp Windows của mình.

Trên Windows 7, việc kích hoạt tài khoản quản trị viên ẩn có thể hơi phức tạp, nhưng chúng tôi sẽ sớm có một hướng dẫn riêng về vấn đề đó. Trên thực tế, làm được điều tương tự trên Windows XP cũng không hề đơn giản. Một lần nữa, chúng ta sẽ thảo luận điều này một cách riêng biệt.

Sau khi đăng nhập với tư cách quản trị viên, hãy chạy StartBlueScreen từ dòng lệnh. Nir Sofer liệt kê một số ví dụ trên trang web của anh ấy, vì vậy chúng tôi sẽ sử dụng một trong số đó:

StartBlueScreen.exe 0x12 0 0 0 0 

Điều này rất giống với việc chạy echo c> /proc/sysrq-trigger trên Linux, với Yêu cầu hệ thống được bật. Thật vậy, sau vài giây, bạn sẽ thấy BSOD khét tiếng:

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Hãy để máy hoàn thành việc đổ rác. Sau khi nó xuất hiện, chúng ta có thể phân tích sự cố. Bạn có thể thấy một thông báo bật lên sau khi máy khởi động lại. Đã có một gợi ý về những gì đã xảy ra, sẽ sớm có thêm thông tin chi tiết.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Phân tích BSOD

Hãy xem mỗi công cụ trong số ba công cụ mang lại cho chúng ta điều gì.

Kết quả WhoCrashed

Bạn nhận được một bản tóm tắt rất đơn giản về những gì đã xảy ra. Đối với hầu hết mọi người, thông tin này là đủ để bắt đầu. Biết tên của trình điều khiển vi phạm có thể giúp cô lập vấn đề.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Chúng tôi thấy rằng lỗi là một bẫy nhân không xác định do trình điều khiển nirsoftbluescreendriver.sys gây ra. Vâng, điều này là để được mong đợi. Tôi đoán mã của Nir tương tự như ví dụ trình điều khiển nhân con trỏ null của tôi.

Nirsoft BlueScreenXem kết quả

BlueScreenView cung cấp thông tin chi tiết hơn. Nó sẽ tự động tải các tệp kết xuất nhỏ được tìm thấy trong thư mục gốc. Ở chế độ xem trên cùng, bạn sẽ thấy một số thông tin cơ bản về sự cố, bao gồm Chuỗi kiểm tra lỗi, giống với Chuỗi hoảng loạn trong tệp phân tích sự cố Linux và Mã kiểm tra lỗi, tương tự như Lỗi trang hạt nhân.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Trong ngăn dưới cùng, bạn có danh sách tất cả các trình điều khiển được tải trong bộ nhớ, với những trình điều khiển liên quan đến sự cố được đánh dấu bằng cá hồi - tôi đoán đó là một tên màu. Nếu bạn chỉ muốn xem dấu vết cuộc gọi cho quy trình sự cố, bạn có thể thay đổi bộ lọc trong menu Tùy chọn.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Và bạn cũng có thể tải màn hình BSOD gốc (kiểu XP):

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Điều này đôi khi có thể hữu ích. Ví dụ:hãy xem phần Thông tin kỹ thuật. Bạn có tên của trình điều khiển xấu và địa chỉ bộ nhớ. Để sử dụng phép tương tự Linux một lần nữa, điều này giống như RIP ngoại lệ trong quá trình truy nguyên tác vụ. Thật vậy, hãy tập trung vào ngăn xếp:

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Chúng tôi có tên của tệp thực thi và địa chỉ bộ nhớ. Về lý thuyết, nếu chúng tôi có các nguồn, chúng tôi có thể xác định chính xác dòng mã dẫn đến sự cố hạt nhân. Vì chúng tôi không làm như vậy nên điều tốt nhất bạn có thể làm là thu thập càng nhiều dữ liệu càng tốt và gửi thông tin cho Microsoft để phân tích thêm. Chúng ta sẽ nói về điều đó sớm thôi.

Nói chung, Microsoft sẽ phát hành các bản vá cho sự cố trong các thành phần của Microsoft, vì vậy câu hỏi đặt ra là làm cách nào để bạn biết nkrnlpa.exe có phải là một thành phần của Microsoft hay không? Chà, nếu bạn nhấp đúp vào bất kỳ mục nào hoặc nhấp chuột phải và chọn thuộc tính, bạn sẽ nhận được thông tin chi tiết.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Như bạn có thể thấy, làm việc với sự cố Windows không khác nhiều so với làm việc với Linux. Tuy nhiên, có thể bạn sẽ muốn biết chính xác điều gì đã xảy ra, vì vậy bạn sẽ cần các nguồn thông tin không phải lúc nào cũng có sẵn. Mặt khác, điều này không phải lúc nào cũng có thể thực hiện được trên Linux, đặc biệt nếu bạn có trình điều khiển độc quyền được tải vào nhân, chẳng hạn như Nvidia. Vui lòng lưu ý phiên bản tệp - điều này rất quan trọng khi chúng tôi muốn sử dụng các ký hiệu mà chúng tôi sẽ sớm thấy trong thực tế.

Kết quả của Trình gỡ lỗi Windows

Windows Debugger là công cụ phức tạp nhất và mạnh mẽ nhất trong ba công cụ được đề cập. Trước khi chúng tôi bắt đầu, bạn nên biết rằng cần có thời gian, sự kiên nhẫn và kiến ​​thức để làm việc với Trình gỡ lỗi. Trên thực tế, bất chấp sự dũng cảm của mình, tôi khá thiếu kinh nghiệm với công cụ này, mặc dù lẽ thường và kiến ​​thức phổ quát khi phân tích sự cố có thể áp dụng tốt ở đây. Nếu bạn biết doanh nghiệp của mình thông qua các đoạn mã tối tăm trong một hệ thống, thì bạn sẽ ổn trong tất cả các hệ thống khác.

Quyền

Nếu bạn không làm việc với tư cách là Quản trị viên, bạn sẽ không có quyền truy cập vào các kết xuất bộ nhớ vì lý do bảo mật rõ ràng. Bạn có thể cần sao chép tệp đi hoặc đặt quyền chính xác.

Tải biểu tượng

Điều đầu tiên bạn cần làm là tải các biểu tượng. Công cụ có thể không biết vị trí ký hiệu của đĩa, vì đường dẫn có thể không được lưu trữ trong các biến môi trường. Để nhấn mạnh điểm này, tôi sẽ tải kết xuất sự cố mà không chỉ định các ký hiệu.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Lưu ý chuỗi lỗi:ERROR:Đã tải xong mô-đun nhưng ... Đây là điều xảy ra khi không có biểu tượng nào được tải, khiến cho việc phân tích trở nên vô ích. Thật vậy, nếu bạn chạy phân tích, bạn sẽ nhận được một số dấu hỏi, vì trình gỡ lỗi không thể đoán trình điều khiển được ánh xạ như thế nào trong bộ nhớ tại thời điểm xảy ra sự cố.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Bạn có thể kiểm tra đường dẫn biểu tượng hiện tại bằng cách thực hiện lệnh .sympath. Nó sẽ trống trừ khi bạn đã tải bất kỳ biểu tượng nào. Bây giờ chúng ta sẽ tải các biểu tượng.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Sau khi tải các biểu tượng, bạn không cần mở lại tệp kết xuất nhỏ. Bạn chỉ cần tải lại nó. Bạn có thể làm điều đó bằng cách chọn hộp Tải lại trong cửa sổ Đường dẫn tìm kiếm biểu tượng hoặc chạy .reload trong dòng lệnh của trình gỡ lỗi, được đánh dấu bằng kd> ở cuối cửa sổ lệnh.

Phân tích BSOD của Windows - Hướng dẫn sử dụng toàn diện

Bây giờ bạn sẽ thấy một kết quả khác:

Chạy phân tích

Chạy phân tích được thực hiện bằng cách thực thi lệnh !analyze -v. Cờ -v là viết tắt của dài dòng.

!analyze -v

Bây giờ bạn sẽ thấy nhiều thông tin hơn, bao gồm các chuỗi chi tiết cho các đối số sự cố. Đối với hầu hết mọi người, đây là cách vượt xa nhu cầu cơ bản của họ, nhưng nếu bạn thực sự muốn kiểm soát hệ thống của mình, giải quyết sự cố và thậm chí giúp Microsoft khắc phục các lỗi cốt lõi, thì bạn sẽ dành vài phút chạy phân tích và gửi báo cáo sự cố , nếu có thể.

Các ký hiệu không khớp với kernel!

Bây giờ, đây là điều mà bạn nên chú ý. Nếu bạn tải các biểu tượng sai, thông tin về sự cố sẽ sai. Thật vậy, nếu bạn đã tải xuống các biểu tượng cũ hơn hoặc mới hơn phiên bản nhân của mình, thì bạn sẽ gặp sự cố.

Điều này tương tự như ví dụ về Linux, không có sẵn gói debuginfo trong kho lưu trữ trên openSUSE 11.2 sau khi cập nhật kernel. Trong thực tế, tôi đã gặp phải vấn đề này. Hãy quay lại phần cài đặt biểu tượng:

Các ký hiệu dành cho kernel 7600.16385, nếu tôi không nhầm là RTM. Để ý dấu thời gian và sửa đổi chính xác - 090713-1255. Mặt khác, Windows 7 đang chạy kernel mới hơn, cộng với việc nó đã trải qua một số bản cập nhật, điều này cũng có thể ảnh hưởng đến phiên bản kernel.

Phiên bản là 7600.16481. Hai người không hợp nhau! Nếu bạn gặp phải trường hợp như thế này và không thể tải xuống phiên bản mới hơn, cập nhật hơn của ký hiệu kernel, thì bạn nên liên hệ với Microsoft để được hỗ trợ. Rất có thể bạn sẽ không có biểu tượng cho trình điều khiển bên thứ ba. Bạn cũng có thể liên hệ với các nhà cung cấp bên thứ ba.

Truy xuất các ký hiệu chính xác trực tuyến!

Bây giờ, Windows-khôn ngoan, đây là những gì bạn cần làm để có được các ký hiệu mới nhất cho hệ điều hành của mình. Sau khi tải kết xuất sự cố trong Trình gỡ lỗi Windows, hãy mở lại cửa sổ Đường dẫn tìm kiếm biểu tượng. Ngoài đường dẫn cục bộ, chúng tôi sẽ chỉ định một kho ký hiệu trực tuyến, chỉ có thể truy cập được từ bên trong Trình gỡ lỗi. Để biết thêm thông tin, vui lòng xem bài viết Microsoft KB này.

Cụ thể, bạn muốn như sau:

SRV*c:\symbols*https://msdl.microsoft.com/download/symbols

Thay thế c:\symbols bằng đường dẫn biểu tượng chính xác trên máy của bạn. Không cần nhập đường dẫn bằng Đường dẫn tìm kiếm biểu tượng. Nó cũng có thể được chỉ định trên dòng lệnh bằng cách sử dụng lệnh .sympath. Chúng ta sẽ sớm thảo luận về các lệnh và tùy chọn khác của Trình gỡ lỗi. Và hãy chạy lại phân tích. Tất nhiên, chúng tôi sẽ không có biểu tượng cho trình điều khiển Nirsoft.

Để làm cho nó thú vị hơn, đây là ngăn xếp cuộc gọi (sẽ nói thêm về điều đó sớm):

Và chúng tôi tốt!

Các lệnh &tùy chọn khác của Trình gỡ lỗi

Thật may mắn cho bạn, Trình gỡ lỗi Windows có phần trợ giúp cực kỳ phong phú và chi tiết, sẽ giúp bạn thực hiện nhanh chóng, miễn là bạn thích loại nội dung này. Và nếu bạn đã quen thuộc với phân tích sự cố Linux, thì hầu hết mọi thứ sẽ quen thuộc.

Ví dụ, một lệnh rất hữu ích là lm (list modules). Bạn có thể chạy lml để có danh sách ngắn các mô-đun hoặc lmv để có danh sách đầy đủ, dài dòng. Bạn cũng có thể liệt kê các mô-đun user-land với cờ u hoặc các mô-đun hạt nhân với cờ k.

Đây là một ví dụ về lvm:

Đây là một ví dụ về lml; lưu ý rằng một số trình điều khiển không có ký hiệu, cụ thể là trình điều khiển của bên thứ ba, vì nhân Windows chưa được biên dịch với các ký hiệu này và chúng cũng không có sẵn. Bạn có thể lấy chúng từ nhà cung cấp.

Trong menu View, bạn có một số lệnh được tích hợp sẵn, vì vậy bạn không cần tìm kiếm chúng trên dòng lệnh. Bạn có Đồng hồ, Địa phương, Thanh ghi, Bộ nhớ, Ngăn xếp cuộc gọi mà chúng tôi đã thấy cách đây không lâu và hơn thế nữa.

Ví dụ:bạn có thể muốn hiển thị Quy trình và Chủ đề.

Hoặc đăng ký:

Các lệnh khác mà bạn có thể muốn sử dụng bao gồm !memusage và !address. Sự kết hợp của các lệnh và tùy chọn mà chúng ta vừa thấy khá giống với bt, ps và các lệnh khác mà tiện ích sự cố sử dụng. Ý tưởng tổng thể là như nhau.

Tháo gỡ

Ngay cả khi bạn không có nguồn, bạn có thể muốn xem mã nhị phân được phân tách. Bạn có thể không hoàn toàn hiểu những gì diễn ra trong đoạn mã, nhưng nó có thể cho bạn biết điều gì đã xảy ra.

Các tùy chọn tháo gỡ, cũng như nhiều tùy chọn khác có sẵn trong menu.

Đây là:

Và bạn có thể nhúng các cửa sổ khác nhau vào giao diện chính.

Điều này hầu như không chạm đến tảng băng trôi của những gì Windows Debugger có thể làm, nhưng tôi đoán nó là đủ cho hầu hết mọi người.

Tiếp theo là gì?

Nếu bạn đã tách riêng nguồn gốc của vấn đề, bạn có thể thử một số cách sau:

Gỡ cài đặt hoặc vô hiệu hóa trình điều khiển xấu

Xem liệu điều này có tạo ra sự khác biệt nào không, nghĩa là, nếu bạn có thể, vì bạn có thể mất chức năng quan trọng. Nếu sự cố vẫn tiếp diễn, bạn có thể gặp sự cố phức tạp liên quan đến phần cứng.

Thử cập nhật trình điều khiển

Điều này có thể làm việc. Truy cập trang web của nhà cung cấp hoặc bản cập nhật của Microsoft và lấy trình điều khiển mới nhất cho phần cứng và phần mềm của bạn. Hãy nhớ sao lưu dữ liệu của bạn và hình ảnh hóa hệ thống, để bạn có đường cơ sở để truy cập.

Google ra thông tin

Luôn luôn là một bước đi khôn ngoan. Tìm kiếm tên của trình điều khiển hoặc Chuỗi kiểm tra lỗi có thể mang lại thông tin hữu ích, bao gồm cả cách giải quyết vấn đề. Nói chung, ai đó phải đã nhìn thấy hoặc nghe thấy hoặc trải qua điều gì đó tương tự như vấn đề của bạn.

Như mọi khi, hãy lọc dữ liệu một cách cẩn thận và thận trọng. Nếu bạn quyết định thử một số giải pháp được đề xuất, hãy đảm bảo dữ liệu của bạn an toàn và bạn có thể quay lại cấu hình tốt, đã biết.

Khác

Nếu bạn có thông tin sự cố hữu ích, bạn nên thử gửi thông tin đó cho nhà phát triển để phân tích. Đây có thể là Microsoft hoặc bên thứ ba đang phát triển trình điều khiển phần cứng hoặc phần mềm cho Microsoft Windows. Xem bên dưới.

Gửi thông tin kết xuất hạt nhân để phân tích

Tôi không có bất cứ điều gì vững chắc ở đây. Nếu bạn có đề nghị, xin vui lòng gửi cho họ. Tôi đã thử một số liên kết của Microsoft, nhưng chúng dường như nằm ngoài giới hạn đối với người dùng thông thường.

Trang có liên quan nhất là oca.microsoft.com, nhưng trang này có vẻ bị lỗi phía máy chủ. Vui lòng sửa lỗi cho tôi và/hoặc gửi phản hồi và liên kết của bạn.

Lưu ý: Gửi kết xuất sự cố là một vấn đề nhạy cảm! Kết xuất bộ nhớ có thể chứa thông tin cá nhân, bao gồm mật khẩu và bất kỳ thứ gì khác được tải vào bộ nhớ tại thời điểm xảy ra sự cố. Vui lòng lưu ý điều này trước khi tải lên hoặc gửi dữ liệu sự cố của bạn qua đường bưu điện.

Nội dung bổ sung

Chẩn đoán bộ nhớ

Nếu bạn đang gặp sự cố phần cứng không liên tục, bạn có thể muốn chạy kiểm tra bộ nhớ trên máy của mình. Công cụ nguồn mở phổ biến nhất là Memtest86+. Công cụ này có thể được sử dụng như một ISO độc lập; nó cũng đi kèm với phần lớn các bản phân phối Linux, tất cả đều có khả năng khởi động dưới dạng đĩa CD trực tiếp.

Bạn cũng có thể sử dụng Windows Memory Diagnostic.

Ngoài ra, lời khuyên chung được liệt kê trong sự cố Linux cũng được áp dụng tại đây!

Và đó sẽ là tất cả, các quý ông!

Tài liệu tham khảo

Trình xác minh trình điều khiển

Gói Biểu tượng Windows

Công cụ gỡ lỗi cho Windows

SDK Windows

Tai nạn

Trang web của Nirsoft

Nirsoft Nirlauncher (đánh giá của tôi)

Nirsoft BlueScreenView

Nirsoft StartBlueScreen

Chẩn đoán bộ nhớ Windows

Memtest86+

Làm thế nào để biểu tượng trực tuyến

Truy xuất các ký hiệu từ máy chủ trực tuyến trực tiếp từ bên trong Trình gỡ lỗi Windows:

Sử dụng Microsoft Symbols Server để lấy các tệp biểu tượng gỡ lỗi

Các tài nguyên hữu ích khác

Các bài viết của Microsoft về phân tích kết xuất bộ nhớ nhân:

Các bài viết hữu ích, bao gồm chỉnh sửa sổ đăng ký, sử dụng bàn phím a-la System Request (SysRq), sử dụng dòng lệnh của Trình gỡ lỗi Windows và sử dụng hàng loạt (theo kịch bản).

Tổng quan về các tùy chọn tệp kết xuất bộ nhớ

Trình kích hoạt kết xuất bàn phím

Một bài viết tuyệt vời của Mark Russinovich (Sysiternals, nay là Wininternals):

Trường Hợp Cuộc Gọi Điện Thoại Bị Rơi

Và đừng quên trợ giúp tích hợp sẵn trong Windows Debugger! Nó rất kỹ lưỡng và chi tiết. Cuối cùng nhưng không kém phần quan trọng, chúng ta quay lại với các công cụ tìm kiếm trên Internet, người bạn thân miễn phí của bạn trong mọi tình huống.

Kết luận

Chà, nó dài - và thú vị hơn nhiều so với những gì tôi dự đoán. Rõ ràng, bạn không thể thoát khỏi siêu lập trình viên khi xử lý nội dung kernel. Tuy nhiên, tôi hy vọng bạn thích bài viết này.

Nó có khá nhiều thứ:với thiết lập kết xuất bộ nhớ nhân, xác minh trình điều khiển, ba công cụ để kiểm tra sự cố nhân, bao gồm một công cụ rất đơn giản như WhoCrashed cho đến Trình gỡ lỗi Windows mạnh mẽ. Chúng tôi cũng đã sử dụng các công cụ của Nirsoft để kích hoạt và sau đó phân tích BSOD. Chúng tôi đảm bảo rằng máy của chúng tôi đã cài đặt các biểu tượng. Chúng tôi đã xem xét sâu hơn những gì Trình gỡ lỗi Windows cung cấp cho chúng tôi, bao gồm một số lệnh và tùy chọn. Cuối cùng, một số mẹo chung và vô số liên kết.

Tôi không nghĩ rằng bạn sẽ thấy có nhiều bài viết thân thiện như bài viết này, đặc biệt không phải bài báo nào được viết bởi một anh chàng Linux, vì lợi ích và niềm vui của người dùng Windows. Và bí mật nằm ở đó. Cú pháp là khác nhau, nhưng các nguyên tắc cơ bản là giống hệt nhau. Khi bạn hiểu rõ về phân tích sự cố nhân Linux hoặc Windows, bạn sẽ cảm thấy thoải mái hơn rất nhiều khi làm việc với cái kia. Và đó sẽ là tất cả. Tôi mệt quá rồi. Hẹn gặp lại bạn!

Chúc mừng.