Phân tích kết xuất bộ nhớ hoặc cách xác định nguyên nhân của BSoD? Kết xuất sự cố Windows

Nếu xảy ra lỗi nghiêm trọng khi làm việc với Windows, người dùng có thể thắc mắc: làm cách nào tôi có thể truy cập vào kết xuất sự cố của Windows? Một kết xuất như vậy, nếu cấu hình hệ thống được cấu hình chính xác, sẽ giúp khởi động hệ thống trong trường hợp xảy ra sự cố hoặc cái gọi là màn hình xanh chết chóc (BSOD).

Nếu bạn gặp sự cố khi thiết lập kết xuất bộ nhớ hoặc hệ điều hành không hoạt động chính xác sau đó, bạn có thể.

Kết xuất bộ nhớ Windows 10

Kết xuất bộ nhớ là thứ nằm trong bộ nhớ làm việc của toàn bộ hệ điều hành, bộ xử lý và lõi của nó. Bao gồm tất cả thông tin về trạng thái của các thanh ghi bộ xử lý và các cấu trúc dịch vụ khác.

Tại sao bạn cần kết xuất bộ nhớ Windows 10?

Kết xuất bộ nhớ Windows 10 là một loại hộp đen. Trong trường hợp hệ thống bị lỗi, thông tin được lưu trữ trong đó sẽ giúp nghiên cứu chi tiết nguyên nhân gây ra lỗi hệ thống. Lỗi này thường làm dừng hoàn toàn hệ điều hành. Do đó, kết xuất bộ nhớ là cách duy nhất và đáng tin cậy nhất để lấy thông tin về bất kỳ lỗi nào trong hệ thống. Và việc nhận nó là một ảnh chụp nhanh thực tế của thông tin có trong hệ thống.

Nội dung của kết xuất bộ nhớ phản ánh càng chính xác những gì đang xảy ra trong hệ thống tại thời điểm xảy ra lỗi thì càng dễ dàng phân tích tình huống khẩn cấp và các hành động tiếp theo để khắc phục nó.

Điều cực kỳ quan trọng là có được một bản sao cập nhật vào đúng thời điểm ngay trước khi xảy ra lỗi. Và cách duy nhất để làm điều này là tạo một kết xuất sự cố Windows 10.

Nguyên nhân gây ra lỗi trên Windows 10 rất đa dạng:

- sự không tương thích của các thiết bị được kết nối;

— bản cập nhật Windows 10 mới;

— sự không tương thích của các trình điều khiển được cài đặt;

- sự không tương thích của các ứng dụng đã cài đặt;

- và các lý do khác.

Làm cách nào để thiết lập kết xuất bộ nhớ trong Windows 10?

Để thiết lập kết xuất sự cố Windows 10, bạn phải làm theo các bước sau:

1. Nhấp chuột phải vào Khởi động Windows 10. Trong menu ngữ cảnh xuất hiện, chọn “Hệ thống”.

2. Trong cửa sổ “Hệ thống”, ở góc trên bên trái, chọn “Cài đặt hệ thống nâng cao”.

3. Trong cửa sổ “Thuộc tính hệ thống”, trong mục “Khởi động và khôi phục”, nhấp vào “Tùy chọn”.

Đây là nơi bạn thiết lập kết xuất sự cố Windows 10.

Khi thiết lập kết xuất bộ nhớ, bạn không thể bỏ qua các khuyến nghị sau:

— Chọn hộp “thay thế tệp kết xuất hiện có.” Xét trên thực tế, dữ liệu có thể nặng hàng chục, thậm chí hàng trăm gigabyte, điều này rất hữu ích cho các ổ cứng nhỏ;

- Ghi lại thông tin gỡ lỗi. Chức năng này sẽ cho phép bạn chọn loại tệp kết xuất;

- Thực hiện khởi động lại tự động. Tiếp tục công việc sau khi xảy ra lỗi;

- Ghi lại một sự kiện vào nhật ký hệ thống. Thông tin về lỗi hệ thống sẽ được thêm vào nhật ký hệ điều hành.

Kết xuất bộ nhớ Windows 10 là một phương pháp thuận tiện và thực sự hiệu quả để bảo vệ dữ liệu hệ thống.

Biết rõ kẻ thù “trực tiếp” sẽ giúp việc tìm kiếm và tiêu diệt hắn dễ dàng hơn nhiều. Kết xuất bộ nhớ Windows 10 sẽ cho phép bạn xác định nguyên nhân gây ra lỗi hệ thống và điều chỉnh các hành động để loại bỏ lỗi, giảm đáng kể phạm vi nỗ lực và công việc.

Ghi chú ngắn này nhằm mục đích chỉ ra cách bạn có thể định cấu hình hệ thống để xử lý trường hợp khẩn cấp Kết xuất bộ nhớ Windows, tức là một kết xuất có thể được tạo nếu xảy ra lỗi nghiêm trọng, đặc trưng bởi sự xuất hiện của màn hình xanh chết chóc (BSOD). Nói chung, bãi chứa là gì, tại sao chúng ta cần nó và nó là gì, nó nhằm giải quyết những vấn đề gì và nó chứa thông tin gì?

Kết xuất bộ nhớ - nội dung của bộ nhớ làm việc của một tiến trình, hạt nhân hoặc toàn bộ hệ điều hành, bao gồm, ngoài vùng làm việc, thông tin bổ sung về trạng thái của các thanh ghi bộ xử lý, nội dung của ngăn xếp và các cấu trúc dịch vụ khác.

Tại sao chúng ta có thể cần nội dung này, tức là. Kết xuất bộ nhớ Windows? Có lẽ cách sử dụng kết xuất bộ nhớ phổ biến nhất là nghiên cứu nguyên nhân gây ra lỗi hệ thống (), khiến hệ điều hành ngừng hoạt động hoàn toàn. Ngoài ra, trạng thái bộ nhớ có thể được sử dụng cho các mục đích khác. Điều quan trọng nữa là việc kết xuất bộ nhớ thực sự là cách duy nhất để có được thông tin về bất kỳ lỗi nào! Và trên thực tế, việc lấy (lấy) kết xuất bộ nhớ hệ thống là phương pháp chính xác duy nhất để lấy dấu vân tay (bản sao) tức thời của nội dung bộ nhớ vật lý của hệ thống.

Nội dung của kết xuất phản ánh trạng thái bộ nhớ tại thời điểm xảy ra lỗi càng chính xác thì chúng ta càng có thể phân tích tình huống khẩn cấp một cách chi tiết hơn. Do đó, điều cực kỳ quan trọng là phải có được bản sao cập nhật của bộ nhớ vật lý của hệ thống tại một thời điểm được xác định nghiêm ngặt ngay trước khi xảy ra lỗi. Và cách duy nhất để làm điều này là tạo một bãi chứa sự cố đầy đủ. Lý do khá tầm thường - khi xảy ra sự cố kết xuất bộ nhớ hệ thống, do lỗi hoặc do tình huống mô phỏng giả tạo, hệ thống tại thời điểm nhận quyền kiểm soát các chức năng khẩn cấp (KeBugCheckEx) đang ở trạng thái do đó, trạng thái hoàn toàn không thay đổi (tĩnh), từ thời điểm xảy ra lỗi đến thời điểm dữ liệu được ghi vào phương tiện, không có gì thay đổi nội dung của bộ nhớ vật lý và nó được ghi vào đĩa ở trạng thái ban đầu. Vâng, đây là trên lý thuyết, nhưng đôi khi trong cuộc sống, nhưng có những trường hợp do các thành phần phần cứng bị lỗi, bản thân kết xuất bộ nhớ có thể bị hỏng hoặc trạm có thể bị treo trong khi ghi kết xuất.

Trong phần lớn các trường hợp, từ thời điểm quá trình tạo kết xuất bộ nhớ sự cố bắt đầu cho đến khi kết thúc việc ghi nội dung bộ nhớ vào đĩa, thông tin trong bộ nhớ vẫn không thay đổi.

Về mặt lý thuyết, tính tĩnh (bất biến) của “dấu vân tay” bộ nhớ được giải thích là do khi hàm KeBugCheckEx được gọi, hàm này hiển thị thông tin về lỗi và bắt đầu quá trình tạo kết xuất bộ nhớ, hệ thống đã dừng hoàn toàn và nội dung của bộ nhớ vật lý được ghi vào các khối do tệp hoán trang chiếm giữ trên đĩa, sau đó, trong lần tải hệ điều hành tiếp theo, nó được đặt lại thành một tệp trên phương tiện hệ thống. Chà, gần như có lần tôi quan sát thấy tình huống bo mạch chủ bị lỗi không cho phép tôi lưu kết xuất bộ nhớ: a) bị treo trong khi logic lưu kết xuất đang chạy (quá trình không đạt 100%), b) làm hỏng tệp kết xuất bộ nhớ ( trình gỡ lỗi phàn nàn về cấu trúc), c ) ghi các tệp kết xuất bộ nhớ.dmp có độ dài bằng không. Do đó, mặc dù thực tế là hệ thống đã dừng hoàn toàn tại thời điểm kết xuất bộ nhớ được tạo và chỉ có mã khẩn cấp đang chạy, phần cứng bị lỗi có thể thực hiện các điều chỉnh đối với bất kỳ logic nào mà không có ngoại lệ ở bất kỳ giai đoạn hoạt động nào.
Theo truyền thống, ở giai đoạn đầu, các khối đĩa được phân bổ cho tệp trang được sử dụng để lưu kết xuất bộ nhớ Windows. Sau đó, sau màn hình xanh và khởi động lại, dữ liệu sẽ được chuyển sang một tệp riêng biệt, sau đó tệp được đổi tên bằng cách sử dụng mẫu tùy thuộc vào loại kết xuất. Tuy nhiên, bắt đầu với phiên bản Windows Vista, tình trạng này có thể được thay đổi, giờ đây người dùng có cơ hội lưu kết xuất đã chọn mà không cần sự tham gia của tệp hoán trang, đặt thông tin về lỗi vào một tệp tạm thời. Điều này được thực hiện để loại bỏ các lỗi cấu hình liên quan đến cài đặt không chính xác về kích thước và vị trí của tệp hoán trang, thường dẫn đến sự cố trong quá trình lưu kết xuất bộ nhớ.
Hãy xem hệ điều hành Windows cho phép chúng ta tạo những loại kết xuất nào:

  • Quá trình kết xuất bộ nhớ (ứng dụng);
  • Kết xuất bộ nhớ hạt nhân;
  • Kết xuất bộ nhớ hoàn chỉnh (kết xuất phần có sẵn của bộ nhớ vật lý của hệ thống).

Tất cả các bãi chứa sự cố có thể được chia thành hai loại chính:

  • Kết xuất sự cố với thông tin về ngoại lệ đã xảy ra. Chúng thường được tạo tự động khi xảy ra một ngoại lệ chưa được xử lý trong ứng dụng/kernel và theo đó, trình gỡ lỗi hệ thống (tích hợp sẵn) có thể được gọi. Trong trường hợp này, thông tin về ngoại lệ được ghi lại trong kết xuất, giúp xác định loại ngoại lệ và nơi nó xảy ra trong quá trình phân tích tiếp theo dễ dàng hơn.
  • Kết xuất sự cố không có thông tin ngoại lệ. Thường được người dùng tạo thủ công khi cần tạo ảnh chụp nhanh của quy trình để phân tích tiếp theo. Phân tích này không ngụ ý xác định loại ngoại lệ, vì không có ngoại lệ nào xảy ra, mà là phân tích một loại hoàn toàn khác, ví dụ: nghiên cứu cấu trúc dữ liệu của một quy trình, v.v.

Cấu hình kết xuất bộ nhớ hạt nhân

Bạn phải đăng nhập bằng tài khoản quản trị để thực hiện các hành động được mô tả trong phần này.

Hãy đi thẳng vào việc định cấu hình cài đặt kết xuất sự cố của Windows. Đầu tiên chúng ta cần vào cửa sổ thuộc tính hệ thống theo một trong các cách sau:

  1. Nhấp chuột phải vào biểu tượng "Máy tính của tôi" - "Thuộc tính" - "Cài đặt hệ thống nâng cao" - "Nâng cao".
  2. Nút "Bắt đầu" - "Bảng điều khiển" - "Hệ thống" - "Cài đặt hệ thống nâng cao" - "Nâng cao".
  3. Phím tắt "Windows" + "Tạm dừng" - "Cài đặt hệ thống nâng cao" - "Nâng cao".

  4. hệ thống điều khiển.cpl,3
  5. Chạy trên dòng lệnh (cmd):
    SystemPropertiesNâng cao

Kết quả của các hành động được mô tả là mở cửa sổ "Thuộc tính hệ thống" và chọn tab "Nâng cao":

Sau đó, trong phần “Khởi động và khôi phục”, chúng tôi nhấp vào, chọn “Tùy chọn” và từ đó mở ra một cửa sổ mới có tên “Tải xuống và khôi phục”:

Tất cả các tham số kết xuất sự cố được nhóm trong một khối tham số có tên là "Lỗi hệ thống". Trong khối này, chúng ta có thể đặt các tham số sau:

  1. Ghi sự kiện vào nhật ký hệ thống.
  2. Thực hiện khởi động lại tự động.
  3. Ghi lại thông tin gỡ lỗi.
  4. Tập tin dump.
  5. Thay thế tệp kết xuất hiện có.

Như bạn có thể thấy, nhiều tham số trong danh sách khá tầm thường và dễ hiểu. Tuy nhiên, tôi muốn giải thích chi tiết hơn về tham số "Tệp kết xuất". Tham số được trình bày dưới dạng danh sách thả xuống và có bốn giá trị có thể:

Kết xuất bộ nhớ nhỏ

Kết xuất bộ nhớ nhỏ (minidump) là một tệp chứa lượng thông tin nhỏ nhất về lỗi. Dung lượng bộ nhớ nhỏ nhất có thể có. Bất chấp những nhược điểm rõ ràng, các kết xuất nhỏ thường được sử dụng làm thông tin về việc không thể chuyển giao cho các nhà cung cấp trình điều khiển bên thứ ba để nghiên cứu tiếp theo.
Hợp chất:

  • Thông báo lỗi.
  • Giá trị lỗi.
  • Các thông số lỗi.
  • Bối cảnh bộ xử lý (PRCB) xảy ra lỗi.
  • Thông tin quy trình và bối cảnh hạt nhân (EPROCESS) cho quy trình gặp sự cố và tất cả các luồng của nó.
  • Xử lý thông tin và bối cảnh kernel (ETHREAD) cho luồng gây ra sự cố.
  • Ngăn xếp chế độ hạt nhân cho luồng đã gây ra sự cố.
  • Danh sách các trình điều khiển được tải.

Chỗ ở: %SystemRoot%\Minidump\MMDDYY-XXXXX-NN.dmp. Trong đó MMDDYY lần lượt là tháng, ngày và năm, NN là số sê-ri của kết xuất.
Âm lượng: Kích thước phụ thuộc vào độ bit của hệ điều hành: chỉ cần 128 kilobyte cho hệ điều hành 32 bit và 256 kilobyte cho hệ điều hành 64 bit trong tệp hoán trang (hoặc trong tệp được chỉ định trongDedicatedDumpFile). Vì chúng tôi không thể đặt kích thước nhỏ như vậy nên chúng tôi làm tròn nó lên tới 1 megabyte.

Kết xuất bộ nhớ hạt nhân

Loại kết xuất này chứa bản sao của tất cả bộ nhớ kernel tại thời điểm xảy ra sự cố.
Hợp chất:

  • Danh sách các tiến trình đang chạy.
  • Trạng thái của chủ đề hiện tại.
  • Các trang bộ nhớ chế độ hạt nhân hiện diện trong bộ nhớ vật lý tại thời điểm xảy ra sự cố: bộ nhớ trình điều khiển chế độ hạt nhân và bộ nhớ chương trình chế độ hạt nhân.
  • Bộ nhớ mức độ phụ thuộc vào phần cứng (HAL).
  • Danh sách các trình điều khiển được tải.

Kết xuất bộ nhớ kernel thiếu các trang bộ nhớ chưa được phân bổ và các trang chế độ người dùng. Đồng ý, chúng tôi khó có thể quan tâm đến các trang quy trình chế độ người dùng khi xảy ra lỗi hệ thống (BugCheck), vì lỗi hệ thống thường do mã chế độ lõi bắt đầu.

Kích thước: Thay đổi tùy thuộc vào kích thước của không gian địa chỉ kernel được hệ điều hành phân bổ và số lượng trình điều khiển chế độ kernel. Thông thường, cần có khoảng một phần ba bộ nhớ vật lý trong tệp hoán đổi (hoặc trong tệp được chỉ định trongDedicatedDumpFile). Có thể thay đổi.

Kết xuất bộ nhớ hoàn chỉnh

Kết xuất bộ nhớ đầy chứa bản sao của tất cả bộ nhớ vật lý (RAM) tại thời điểm xảy ra lỗi. Theo đó, toàn bộ nội dung của bộ nhớ hệ thống đều được đưa vào file. Đây vừa là ưu điểm vừa là nhược điểm lớn, vì kích thước của nó có thể đáng kể trên một số máy chủ có dung lượng RAM lớn.
Hợp chất:

  • Tất cả các trang của bộ nhớ vật lý "hiển thị". Đây gần như là toàn bộ bộ nhớ hệ thống, ngoại trừ các vùng được phần cứng sử dụng: BIOS, không gian PCI, v.v.
  • Dữ liệu từ các tiến trình đang chạy trên hệ thống tại thời điểm xảy ra lỗi.
  • Các trang của bộ nhớ vật lý không được ánh xạ tới không gian địa chỉ ảo nhưng có thể giúp điều tra nguyên nhân lỗi.

Theo mặc định, kết xuất bộ nhớ đầy không bao gồm các vùng bộ nhớ vật lý được BIOS sử dụng.
Vị trí: %SystemRoot%\MEMORY.DMP . Kết xuất trước đó bị ghi đè.
Ổ đĩa: Tệp hoán trang (hoặc tệp được chỉ định trongDedicatedDumpFile) yêu cầu ổ đĩa bằng kích thước của bộ nhớ vật lý + 257 megabyte (257 MB này được chia thành một dữ liệu tiêu đề + trình điều khiển nhất định). Trên thực tế, trong một số hệ điều hành, ngưỡng dưới của tệp hoán trang có thể được đặt chính xác bằng giá trị của kích thước bộ nhớ vật lý.

Tự động kết xuất bộ nhớ

Bắt đầu với Windows 8/Windows Server 2012, một loại kết xuất mới đã được đưa vào hệ thống có tên là Kết xuất bộ nhớ tự động, được đặt làm loại mặc định. Trong trường hợp này, hệ thống tự quyết định kết xuất bộ nhớ nào sẽ được ghi lại trong trường hợp xảy ra lỗi cụ thể. Hơn nữa, tính logic của việc lựa chọn còn phụ thuộc vào nhiều tiêu chí, trong đó có tần suất “sự cố” của hệ điều hành.

Sau khi thay đổi cấu hình kết xuất bộ nhớ Windows, bạn có thể cần phải khởi động lại máy tính của mình.

Cài đặt đăng ký

Phần đăng ký xác định các tham số kết xuất sự cố:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

Tùy chọn:

Tham số Kiểu Sự miêu tả
Tự động khởi động lại REG_DWORD Bật/tắt tính năng tự động khởi động lại khi BSOD xảy ra.
CrashDumpĐã bật REG_DWORD Loại kết xuất đang được tạo.
  • 0 - không tạo kết xuất bộ nhớ;
  • 1 - kết xuất bộ nhớ hoàn chỉnh;
  • 2 - kết xuất bộ nhớ kernel;
  • 3 - kết xuất bộ nhớ nhỏ;
Tập tin dump REG_EXPAND_SZ Đường dẫn và tên của kết xuất bộ nhớ kernel và kết xuất bộ nhớ đầy đủ.
Bộ lọc kết xuất REG_MULTI_SZ Bộ lọc trình điều khiển trong ngăn xếp trình điều khiển kết xuất bộ nhớ. Cho phép bạn thêm chức năng mới ở giai đoạn tạo kết xuất sự cố. Ví dụ: mã hóa nội dung của tệp dump. Thay đổi giá trị không được khuyến khích.
Đăng nhậpSự kiện REG_DWORD Ghi lại một sự kiện vào nhật ký hệ thống.
MinidumpDir REG_EZPAND_SZ Đường dẫn và tên của kết xuất bộ nhớ nhỏ.
Số lượng rác nhỏ REG_DWORD Số lượng bãi chứa bộ nhớ nhỏ tối đa. Khi vượt quá, các phiên bản cũ hơn sẽ bắt đầu bị ghi đè.
Ghi đè REG_DWORD Thay thế tệp kết xuất hiện có. Chỉ dành cho kết xuất bộ nhớ kernel và kết xuất bộ nhớ đầy đủ.
Bỏ qua Kích thước tệp trang REG_DWORD Bỏ qua tệp trang tiêu chuẩn làm nơi lưu trữ kết xuất bộ nhớ tạm thời (trung gian). Cho biết rằng kết xuất bộ nhớ phải được ghi vào một tệp riêng biệt. Được sử dụng cùng với tùy chọn ExclusiveDumpFile.
Tệp kết xuất chuyên dụng REG_EZPAND_SZ Đường dẫn và tên của tệp thay thế tạm thời để ghi kết xuất bộ nhớ. Trong lần chuyển thứ hai, dữ liệu sẽ vẫn được chuyển sang DumpFile/MinidumpDir.

Tạo kết xuất bộ nhớ theo cách thủ công

Ở trên, chúng tôi đã mô tả các cài đặt để tự động tạo kết xuất lỗi hệ thống trong trường hợp xảy ra lỗi nghiêm trọng, tức là một ngoại lệ chưa được xử lý trong mã hạt nhân. Nhưng trong cuộc sống thực, ngoài sự cố của hệ điều hành, còn có những tình huống cần phải lấy kết xuất bộ nhớ hệ thống tại một thời điểm cụ thể. Làm thế nào để được trong trường hợp này? Có các phương pháp để có được ảnh chụp nhanh của tất cả bộ nhớ vật lý, ví dụ như sử dụng lệnh .dump trong trình gỡ lỗi WinDbg/LiveKD. LiveKD là chương trình cho phép bạn chạy trình gỡ lỗi kernel Kd trên hệ thống đang chạy ở chế độ cục bộ. Trình gỡ lỗi WinDbg cũng có tính năng tương tự. Tuy nhiên, phương pháp kết xuất nhanh chóng không chính xác vì kết xuất được tạo trong trường hợp này là "không nhất quán" do cần có thời gian để tạo kết xuất và trong trường hợp sử dụng trình gỡ lỗi chế độ kernel, hệ thống vẫn tiếp tục chạy và thực hiện thay đổi các trang bộ nhớ.

Windows là một sản phẩm rất mỏng manh và bất kỳ hành động sai lầm nào từ phía người dùng sẽ dẫn đến những lỗi nghiêm trọng và những lỗi không tốt lắm. Thông tin được ghi trên màn hình cũng như các tệp đặc biệt giúp bạn tìm hiểu thông tin về màn hình xanh chết chóc, đây là những vấn đề rất nghiêm trọng. bãi chứa bộ nhớ– lưu trữ dữ liệu về nguyên nhân của BsoD. Tôi thực sự khuyên bạn nên bật tính năng này vì không ai tránh khỏi màn hình xanh, ngay cả người dùng có kinh nghiệm. Bản thân các vùng nhớ thường được lưu trữ dọc theo đường dẫn C:\Windows\MEMORY.DMP, hoặc C:\Windows\Minidump– nơi lưu trữ cái gọi là bãi chứa bộ nhớ nhỏ. Nhân tiện, một kết xuất bộ nhớ nhỏ sẽ là tệp giúp bạn tìm ra nguyên nhân gây ra BsoD.

Thông thường, việc tạo kết xuất bộ nhớ trong Windows 10 bị tắt theo mặc định, điều đó có nghĩa là việc sử dụng các tiện ích đặc biệt để kiểm tra tệp kết xuất sẽ không cho kết quả khả quan. Hãy bắt tay ngay vào hành động.

Cách bật chức năng kết xuất bộ nhớ trên Windows 10 và cấu hình nó

Thông thường, các tiện ích như BlueScreenView được sử dụng để xem kết xuất bộ nhớ, nhưng bạn cần thiết lập tính năng tự động tạo kết xuất bộ nhớ ngay bây giờ, nếu không chương trình này và những chương trình tương tự sẽ vô dụng.

Điều này rất hữu ích:

Bấm vào biểu tượng tìm kiếm và nhập cụm từ "Bảng điều khiển"để mở cửa sổ công cụ.

Chuyển đổi hiển thị biểu tượng sang dạng "Biểu tượng nhỏ", sau đó đi đến phần "Hệ thống".

Một cửa sổ sẽ mở ra, ở phía bên trái hãy nhấp vào tùy chọn "Thiết lập hệ thống nâng cao".

Trong tab “Nâng cao”, nhấp vào mục

Cuối cùng, một cửa sổ mở ra nơi đặt các tham số chính để định cấu hình kết xuất. Tại đây, bạn có thể thấy rằng kết xuất bộ nhớ tự động được kích hoạt trong Windows, được lưu trữ trong đường dẫn được chỉ ra ngay bên dưới. Các hộp kiểm để tạo nhật ký cũng được bao gồm. Ngoài ra, các tệp kết xuất bộ nhớ nhỏ cũng được tạo, điều này sẽ rất hữu ích cho chúng ta khi làm việc với màn hình xanh chết chóc. Thông tin về lõi hệ thống và bộ nhớ cũng được lưu lại. Nếu chế độ này là tự động thì điều này là đủ.

Thông tin về các bãi chứa bộ nhớ khác

Nếu bạn mở menu thả xuống để ghi thông tin gỡ lỗi, bạn sẽ thấy một số tùy chọn mà tôi sẽ mô tả bên dưới.

  • Kết xuất bộ nhớ nhỏ– một bãi chứa nhỏ, được lưu dọc theo một con đường đặc biệt và nặng 256 Kilobyte. Tệp này lưu trữ thông tin cơ bản về màn hình xanh chết chóc và các quy trình hệ thống. Nếu bạn cần tìm ra nguyên nhân của BSOD thì chỉ cần một lượng bộ nhớ nhỏ là đủ. BlueScreenView hoặc các chương trình tương tự được sử dụng để lấy thông tin. Bất kỳ người mới bắt đầu nào cũng có thể sử dụng phương pháp này.
  • Kết xuất bộ nhớ hạt nhân– tập tin sẽ chứa thông tin giống như loại tự động. Điểm khác biệt duy nhất là hệ thống thay đổi tệp hoán trang. Tôi nên chọn phương án nào? Tôi nghĩ đó là loại tự động.
  • Kết xuất bộ nhớ đầy– file chứa dữ liệu đầy đủ về RAM, nghĩa là kích thước file sẽ bằng dung lượng của RAM. Bạn có 8 GB trên PC, đó là dung lượng mà tệp kết xuất bộ nhớ đầy đủ sẽ chiếm trên đĩa. Tùy chọn này không đặc biệt phù hợp cho người mới bắt đầu.
  • Kết xuất bộ nhớ hoạt động– xuất hiện lần đầu trong Windows 10. Phù hợp hơn cho máy chủ và lưu trữ dữ liệu về bộ nhớ hoạt động và chế độ kernel, cũng như người dùng hiện tại.

Cách xóa tệp kết xuất bộ nhớ

Rất đơn giản, bạn đi theo đường dẫn chứa các tệp này và xóa chúng theo cách thủ công. Ví dụ: file kết xuất bộ nhớ đầy đủ có tên là MEMORY.DMP, bạn chỉ cần xóa nó đi là xong. Khi sử dụng công cụ Disk Cleanup cũng có tùy chọn xóa file dump.


Kết xuất bộ nhớ có thể bị vô hiệu hóa do các tiện ích dọn dẹp hệ thống. Khi sử dụng SSD và các tiện ích đặc biệt để làm việc với các ổ đĩa này, chúng cũng có thể vô hiệu hóa một số chức năng hệ thống để SSD ít phải tuân theo quy trình đọc/ghi hơn.

Một trong những lỗi phổ biến nhất của Windows là các ngoại lệ của hệ thống mà người dùng nhìn thấy dưới dạng “màn hình xanh chết chóc” (BSOD). Theo quy định, lỗi nghiêm trọng này xảy ra do trục trặc của trình điều khiển, phần cứng (thường là khi tải HĐH) hoặc do hoạt động của vi-rút và phần mềm chống vi-rút.

Màn hình xanh chết chóc chứa thông tin về lý do gây ra ngoại lệ (dưới dạng mã lỗi STOP có dạng 0x0000007b), địa chỉ bộ nhớ được truy cập khi xảy ra ngoại lệ và các thông tin hữu ích khác. Thông tin như vậy được gọi là lỗi STOP, các tham số biến trong đó chính xác là địa chỉ bộ nhớ. Đôi khi nó còn chứa tên file gây ra ngoại lệ.

Tất cả thông tin này không được hiển thị trên màn hình trong thời gian dài (tối đa 100 giây), sau đó máy tính sẽ khởi động lại. Trong thời gian ngắn này, theo quy luật, kết xuất bộ nhớ sẽ được tạo và ghi vào một tệp. Một trong những phương pháp chuyên nghiệp quan trọng để chẩn đoán lỗi là phân tích kết xuất bộ nhớ, phương pháp này sẽ được thảo luận chi tiết trong bài viết này.

Bãi rác là gì

  • dump (tiếng Anh) – đống rác; bãi rác; hố; khu ổ chuột.
  • dump (kết xuất bộ nhớ) – 1) kết xuất, xuất nội dung của RAM ra máy in hoặc màn hình; 2) một “ảnh chụp nhanh” của RAM; dữ liệu thu được từ việc bán phá giá; 3) loại bỏ khẩn cấp, tắt máy, thiết lập lại.
  • đổ rác - đổ rác, đổ rác.

Cài đặt để lưu kết xuất bộ nhớ được lưu trữ trong sổ đăng ký hệ thống Windows.

Thông tin về kết xuất bộ nhớ trong sổ đăng ký hệ thống:

Trong phần Sổ đăng ký Windows, kết xuất sự cố được xác định bởi các tham số sau:

– Tham số REG_DWORD AutoReboot có giá trị 0×1 (tùy chọn Tự động khởi động lại cửa sổ phụ Boot and Restore của hộp thoại System Properties);

– Tham số REG_DWORD CrashDumpEnabled có giá trị 0×0, nếu kết xuất bộ nhớ không được tạo; 0×1 – Kết xuất bộ nhớ hoàn chỉnh; 0×2 – Kết xuất bộ nhớ hạt nhân; 0x3 – Kết xuất bộ nhớ nhỏ (64KB);

– Tham số REG_EXPAND_SZ DumpFile với giá trị mặc định %SystemRoot%\MEMORY.DMP (vị trí lưu trữ tệp kết xuất);

– Tham số REG_DWORD LogEvent với giá trị mặc định là 0×1 (tùy chọn Ghi sự kiện vào nhật ký hệ thống của cửa sổ Boot and Recovery);

– Tham số REG_EXPAND_SZ MinidumpDir với giá trị mặc định %SystemRoot%\Minidump (Tùy chọn thư mục kết xuất nhỏ của cửa sổ Boot và Recovery);

– Tham số REG_DWORD Ghi đè với giá trị mặc định là 0×1 (tùy chọn Ghi đè tệp kết xuất hiện có của cửa sổ Khởi động và Khôi phục);

– Tham số REG_DWORD SendAlert có giá trị mặc định là 0x1 (tùy chọn Gửi cảnh báo quản trị của cửa sổ Boot and Recovery).

Cách hệ thống tạo tệp kết xuất sự cố

Trong quá trình khởi động, hệ điều hành sẽ kiểm tra cài đặt kết xuất sự cố trong khoá đăng ký. Nếu ít nhất một tham số được chỉ định, hệ thống sẽ tạo bản đồ các khối đĩa bị tệp hoán trang chiếm giữ trên ổ đĩa khởi động và lưu nó vào bộ nhớ. Hệ thống cũng xác định trình điều khiển thiết bị đĩa nào kiểm soát ổ đĩa khởi động, tính toán tổng kiểm tra hình ảnh bộ nhớ của trình điều khiển và cấu trúc dữ liệu phải là số nguyên để trình điều khiển thực hiện các thao tác I/O.

Sau khi xảy ra lỗi, nhân hệ thống sẽ kiểm tra tính toàn vẹn của bản đồ tệp trang, trình điều khiển đĩa và cấu trúc điều khiển trình điều khiển đĩa. Nếu tính toàn vẹn của các cấu trúc này không bị vi phạm thì nhân hệ thống sẽ gọi các chức năng I/O đặc biệt của trình điều khiển đĩa được thiết kế để lưu hình ảnh bộ nhớ sau khi hệ thống bị lỗi. Các chức năng I/O này độc lập và không dựa vào các dịch vụ hạt nhân vì các chương trình chịu trách nhiệm ghi kết xuất sự cố không thể đưa ra bất kỳ giả định nào về phần nào của hạt nhân hệ thống hoặc trình điều khiển thiết bị bị hỏng khi xảy ra sự cố. Nhân hệ thống ghi dữ liệu từ bộ nhớ vào bản đồ khu vực tệp hoán trang (nó không phải sử dụng trình điều khiển hệ thống tệp).

Đầu tiên, nhân hệ thống kiểm tra trạng thái của từng thành phần liên quan đến quá trình kết xuất. Điều này được thực hiện để khi ghi trực tiếp vào các cung đĩa, nó không làm hỏng dữ liệu nằm bên ngoài tệp trang. Kích thước của tệp trang phải lớn hơn 1 MB so với kích thước của bộ nhớ vật lý, vì khi thông tin được ghi vào kết xuất, một tiêu đề sẽ được tạo có chứa chữ ký kết xuất sự cố và các giá trị của một số biến nhân hệ thống quan trọng. Tiêu đề nhỏ hơn 1 MB nhưng hệ điều hành có thể tăng (hoặc giảm) kích thước của tệp trang ít nhất 1 MB.

Sau khi hệ thống khởi động, Trình quản lý phiên (Trình quản lý phiên Windows NT; địa chỉ đĩa - \WINDOWS\system32\smss.exe) khởi tạo các tệp trang hệ thống, sử dụng chức năng NtCreatePagingFile của chính nó để tạo từng tệp. NtCreatePagingFile xác định xem tệp trang đang được khởi tạo có tồn tại hay không và nếu có thì liệu nó có tiêu đề kết xuất hay không. Nếu có tiêu đề thì NtCreatePagingFile sẽ gửi một mã đặc biệt đến Trình quản lý phiên. Sau đó, Trình quản lý phiên sẽ bắt đầu quy trình Winlogon (Chương trình đăng nhập Windows NT; địa chỉ đĩa là \WINDOWS\system32\winlogon.exe), quy trình này được thông báo về sự tồn tại của kết xuất lỗi. Winlogon chạy chương trình SaveDump (Chương trình sao chép bộ nhớ Windows NT; địa chỉ đĩa - \WINDOWS\system32\savedump.exe), chương trình này phân tích tiêu đề kết xuất và xác định các hành động tiếp theo trong tình huống khẩn cấp.

Nếu tiêu đề cho biết sự tồn tại của kết xuất, thì SaveDump sẽ sao chép dữ liệu từ tệp trang sang tệp kết xuất sự cố, tên của tệp này được chỉ định bởi tham số REG_EXPAND_SZ của phần DumpFile của Sổ đăng ký. Trong khi SaveDump ghi lại tệp kết xuất, hệ điều hành không sử dụng phần tệp trang chứa kết xuất sự cố. Trong thời gian này, dung lượng bộ nhớ ảo khả dụng cho hệ thống và ứng dụng sẽ giảm theo kích thước kết xuất (và các thông báo có thể xuất hiện trên màn hình cho biết bộ nhớ ảo sắp hết). Sau đó, SaveDump sẽ thông báo cho trình quản lý bộ nhớ rằng kết xuất đã hoàn tất việc lưu và nó sẽ giải phóng một phần của tệp trang trong đó kết xuất được lưu trữ để sử dụng chung.

Sau khi lưu tệp kết xuất, chương trình SaveDump ghi lại việc tạo kết xuất sự cố trong nhật ký sự kiện Hệ thống, ví dụ: “Máy tính đã được khởi động lại sau một lỗi nghiêm trọng: 0x100000d1 (0xc84d90a6, 0x00000010, 0x00000000, 0xc84d90a6). Bản sao bộ nhớ đã lưu: C:\WINDOWS\Minidump\Mini060309-01.dmp".

Nếu tùy chọn Gửi cảnh báo quản trị được bật, SaveDump sẽ gửi cảnh báo đến quản trị viên.

Các loại bãi rác

  • Kết xuất bộ nhớ đầy ghi toàn bộ nội dung của bộ nhớ hệ thống khi xảy ra lỗi nghiêm trọng. Đối với tùy chọn này, bạn phải có tệp hoán trang trên ổ đĩa khởi động, kích thước của tệp này bằng dung lượng của tất cả RAM vật lý cộng với 1MB. Theo mặc định, kết xuất bộ nhớ hoàn chỉnh được ghi vào tệp %SystemRoot%\Memory.dmp. Khi một lỗi mới xảy ra và một tệp kết xuất bộ nhớ đầy đủ (hoặc kết xuất bộ nhớ kernel) mới được tạo, tệp trước đó sẽ được thay thế (ghi đè). Tùy chọn Kết xuất toàn bộ bộ nhớ không khả dụng trên PC có hệ điều hành 32 bit và RAM 2 gigabyte trở lên.

Khi xảy ra lỗi mới và tệp kết xuất bộ nhớ đầy đủ mới được tạo, tệp trước đó sẽ được thay thế.

  • Kết xuất bộ nhớ hạt nhân chỉ ghi bộ nhớ kernel, giúp quá trình ghi dữ liệu vào log khi hệ thống dừng đột ngột diễn ra nhanh hơn. Tùy thuộc vào dung lượng bộ nhớ vật lý của PC, trong trường hợp này, tệp hoán trang yêu cầu từ 50 đến 800 MB hoặc một phần ba bộ nhớ vật lý của máy tính trên ổ đĩa khởi động. Theo mặc định, kết xuất bộ nhớ kernel được ghi vào tệp %SystemRoot%\Memory.dmp.

Kết xuất này không bao gồm bộ nhớ chưa được phân bổ hoặc bộ nhớ được phân bổ cho các chương trình ở chế độ người dùng. Nó chỉ bao gồm bộ nhớ được phân bổ cho nhân và lớp phụ thuộc phần cứng (HAL) trong Windows 2000 và các phiên bản mới hơn của hệ thống, cũng như bộ nhớ được phân bổ cho trình điều khiển chế độ nhân và các chương trình chế độ nhân khác. Trong hầu hết các trường hợp, bãi chứa như vậy là lựa chọn thích hợp nhất. Nó chiếm ít dung lượng hơn nhiều so với kết xuất bộ nhớ đầy, đồng thời chỉ loại trừ những vùng bộ nhớ có nhiều khả năng không liên quan đến lỗi.
Khi xảy ra lỗi mới và tệp kết xuất bộ nhớ kernel mới được tạo, tệp trước đó sẽ được thay thế.

  • Kết xuất bộ nhớ nhỏ ghi lại lượng thông tin hữu ích nhỏ nhất cần thiết để xác định nguyên nhân của vấn đề. Để tạo một kết xuất bộ nhớ nhỏ, kích thước tệp trang tối thiểu phải là 2MB trên ổ đĩa khởi động.

Tệp kết xuất bộ nhớ nhỏ chứa thông tin sau:

  • Thông báo lỗi nghiêm trọng, các tham số và dữ liệu khác của nó;
  • danh sách các trình điều khiển đã tải;
  • bối cảnh bộ xử lý (PRCB) nơi xảy ra lỗi;
  • thông tin quy trình và bối cảnh kernel (EPROCESS) cho quy trình gây ra lỗi;
  • xử lý thông tin và bối cảnh kernel (ETHREAD) cho luồng gây ra lỗi;
  • Ngăn xếp cuộc gọi chế độ hạt nhân cho luồng gây ra lỗi.

Tệp kết xuất bộ nhớ nhỏ được sử dụng khi dung lượng đĩa cứng bị hạn chế. Tuy nhiên, do thông tin chứa trong đó bị hạn chế nên việc phân tích tệp này không phải lúc nào cũng phát hiện được các lỗi không trực tiếp do luồng đang chạy gây ra khi xảy ra lỗi.

Khi xảy ra lỗi tiếp theo và tệp kết xuất bộ nhớ nhỏ thứ hai được tạo, tệp trước đó sẽ được lưu. Mỗi tập tin bổ sung được đặt một tên duy nhất. Ngày được mã hóa trong tên tập tin. Ví dụ: Mini051509-01.dmp là tệp kết xuất bộ nhớ đầu tiên được tạo vào ngày 15 tháng 5 năm 2009. Danh sách tất cả các tệp kết xuất bộ nhớ nhỏ được lưu trữ trong thư mục %SystemRoot%\Minidump.

Hệ điều hành Windows XP chắc chắn đáng tin cậy hơn nhiều so với các phiên bản trước, nhờ nỗ lực của cả các nhà phát triển Microsoft, nhà phát triển trình điều khiển phần cứng và nhà phát triển phần mềm ứng dụng. Tuy nhiên, các tình huống khẩn cấp - tất cả các loại lỗi và sự cố hệ thống - là không thể tránh khỏi và liệu người dùng PC có kiến ​​thức và kỹ năng để loại bỏ chúng hay không phụ thuộc vào việc anh ta có phải dành vài phút để khắc phục sự cố hay không (ví dụ: cập nhật/gỡ lỗi trình điều khiển). hoặc cài đặt lại một ứng dụng) chương trình gây ra sự cố hệ thống) - hoặc vài giờ để cài đặt lại/cấu hình hệ điều hành và phần mềm ứng dụng (điều này không đảm bảo sẽ không xảy ra lỗi và sự cố trong tương lai!).

Nhiều quản trị viên hệ thống vẫn bỏ qua việc phân tích các kết xuất lỗi của Windows vì tin rằng làm việc với chúng là quá khó. Điều đó khó nhưng vẫn có thể thực hiện được: ngay cả khi, chẳng hạn, ngay cả khi việc phân tích một trong số mười kết xuất thành công, thì những nỗ lực dành cho việc nắm vững các kỹ thuật đơn giản nhất để phân tích các kết xuất lỗi sẽ không vô ích!..

Tôi sẽ đưa ra các ví dụ từ quá trình thực hành “sysadmin” của mình.

Trên mạng cục bộ, không có lý do rõ ràng (“phần cứng ổn định, đảm bảo không có vi-rút, người dùng có “bàn tay bình thường”), một số máy trạm có Windows XP SP1/SP2 “on board” đã ngừng hoạt động. Không thể khởi động máy tính ở chế độ bình thường - nó chuyển sang "Lời chào" - và phải khởi động lại mãi mãi. Đồng thời, PC khởi động vào Chế độ an toàn.

Nghiên cứu các kết xuất bộ nhớ giúp xác định được nguyên nhân của sự cố: thủ phạm hóa ra là Kaspersky Anti-Virus, chính xác hơn là cơ sở dữ liệu chống vi-rút mới (chính xác hơn là hai mô-đun cơ sở dữ liệu - base372c.avc, base032c.avc) .

...Có một trường hợp khác như vậy. Trên PC cục bộ chạy Windows XP SP3, quá trình khởi động lại đã xảy ra khi cố mở tệp video ở định dạng .avi và .mpeg. Nghiên cứu kết xuất bộ nhớ cho phép chúng tôi xác định nguyên nhân của sự cố - tệp nv4_disp.dll của trình điều khiển card màn hình NVIDIA GeForce 6600. Sau khi cập nhật trình điều khiển, sự cố đã được loại bỏ. Nhìn chung, trình điều khiển nv4_disp.dll là một trong những trình điều khiển không ổn định nhất, thường dẫn đến BSOD.

Trong cả hai trường hợp này, việc nghiên cứu kết xuất bộ nhớ sự cố giúp giảm thời gian chẩn đoán và loại bỏ sự cố ở mức tối thiểu (vài phút!).

Phân tích kết xuất bộ nhớ

Có nhiều chương trình để phân tích kết xuất bộ nhớ bị lỗi, ví dụ như DumpChk, Kanalyze, WinDbg.

Hãy xem xét việc phân tích các kết xuất bộ nhớ bị lỗi bằng chương trình WinDbg (một phần của Công cụ gỡ lỗi dành cho Windows).

Cài đặt công cụ gỡ lỗi

  • truy cập trang Web của Tập đoàn Microsoft http://www.microsoft.com/whdc/devtools/debugging/default.mspx;
  • tải xuống Công cụ gỡ lỗi cho Windows, ví dụ: đối với phiên bản Windows 32 bit, việc này có thể được thực hiện trên trang Tải xuống công cụ gỡ lỗi cho Windows;
  • sau khi tải xuống, hãy chạy tệp cài đặt;
  • trong cửa sổ Công cụ gỡ lỗi cho Trình hướng dẫn cài đặt Windows, nhấp vào Tiếp theo;
  • trong cửa sổ có thỏa thuận cấp phép, chọn nút Tôi đồng ý -> Tiếp theo;
  • trong cửa sổ tiếp theo, chọn kiểu cài đặt (theo mặc định, các công cụ gỡ lỗi được cài đặt trong thư mục \Program Files\Debugging Tools for Windows) -> Tiếp theo -> Cài đặt -> Kết thúc;
  • Để diễn giải các tệp kết xuất bộ nhớ, bạn cũng phải tải xuống Gói Biểu tượng cho phiên bản Windows của mình - đi tới trang Tải xuống Gói Biểu tượng Windows;
  • chọn phiên bản Windows của bạn, tải xuống và chạy tệp cài đặt Gói Biểu tượng;
  • trong cửa sổ có thỏa thuận cấp phép, nhấp vào Có;
  • trong cửa sổ tiếp theo, chọn thư mục cài đặt (mặc định là \WINDOWS\Symbols) -> OK -> Yes;
  • Trong cửa sổ Biểu tượng Microsoft Windows có thông báo “Cài đặt hoàn tất”, hãy nhấp vào OK.

Sử dụng WinDbg để phân tích các kết xuất sự cố

  • chạy WinDbg (được cài đặt trong thư mục \Program Files\Debugging Tools cho Windows theo mặc định);
  • chọn menu Tệp -> Đường dẫn tệp biểu tượng…;
  • trong cửa sổ Đường dẫn tìm kiếm biểu tượng, nhấp vào nút Duyệt…;
  • trong cửa sổ Duyệt thư mục, chỉ định vị trí của thư mục Biểu tượng (theo mặc định – \WINDOWS\Symbols) -> OK -> OK;
  • chọn menu Tệp -> Mở Crash Dump… (hoặc nhấn Ctrl + D);
  • trong cửa sổ Open Crash Dump, chỉ định vị trí của Tệp Crash Dump (*.dmp) -> Open;
  • trong cửa sổ Workspace có câu hỏi “Save information for Workspace?”, đánh dấu vào ô Don't Ask Again -> No;
  • Cửa sổ Command Dump sẽ mở trong cửa sổ WinDbg<путь_и_имя_файла_дампа>với phân tích bãi thải;
  • xem lại phân tích kết xuất bộ nhớ;
  • trong phần “Phân tích kiểm tra lỗi”, nguyên nhân có thể gây ra sự cố sẽ được chỉ ra, ví dụ: “Có thể do: smwdm.sys (smwdm+454d5)”;
  • để xem thông tin chi tiết, hãy nhấp vào liên kết “!analyze -v” trong dòng “Sử dụng !analyze -v để nhận thông tin gỡ lỗi chi tiết”;
  • đóng WinDbg;
  • Sử dụng thông tin thu được để loại bỏ nguyên nhân của vấn đề.

Ví dụ: trong ảnh chụp màn hình sau, nguyên nhân gây ra sự cố là do tệp nv4_disp.dll của trình điều khiển card màn hình.