Các tập tin kết xuất nằm ở đâu? Sụp đổ

Khi xảy ra một lỗi nghiêm trọng, hệ điều hành Windows sẽ thông báo cho người dùng về sự cố bằng nhiều tín hiệu âm thanh và văn bản khác nhau. Nhờ họ mà bạn có thể tìm hiểu cụ thể hơn về lỗi và khắc phục. Tuy nhiên, trong hầu hết các trường hợp, chủ sở hữu PC không nhớ chúng hoặc đơn giản là không biết ý nghĩa của chúng. Ngược lại, hệ thống sẽ chụp nhanh lỗi khẩn cấp, hay còn gọi là kết xuất và lưu nó vào ổ cứng. Nó chứa tất cả các thông tin về sự cố.

Các loại bãi chứa

Có ba loại bãi chứa:

  1. Full là toàn bộ nội dung của RAM. Nó hiếm khi được sử dụng vì kích thước của nó bằng toàn bộ dung lượng RAM + 1 MB tiêu đề.
  2. Kết xuất lõi là thông tin liên quan riêng đến hoạt động của kernel và trạng thái của nó.
  3. Một kết xuất nhỏ là một ảnh chụp nhanh chứa thông tin: mã lỗi, các thông số của nó, danh sách các trình điều khiển đã được tải vào OP tại thời điểm hệ thống gặp sự cố. Đó là thông tin đủ để xác định nguyên nhân thất bại.

Để hệ thống lưu một kết xuất nhỏ, cần phải đặt một số thông số nhất định.

Đối với Windows 7 và Windows XP

Nhấp vào “Bắt đầu”, nhấp chuột phải vào “Máy tính” và chọn “Thuộc tính”.

Chuyển đến phần “Cài đặt hệ thống nâng cao”.

Cửa sổ Thuộc tính hệ thống xuất hiện. Trong tab “Nâng cao”, trong phần “Khởi động và khôi phục”, hãy nhấp vào “Tùy chọn”.

Chọn “Kết xuất bộ nhớ nhỏ” và nhấp vào “Ok” để lưu các thay đổi.

Phân tích một bãi rác nhỏ bằng cách sử dụng chế độ xem màn hình xanh

Chương trình Blue Screen View không cần cài đặt. Để sử dụng nó nhằm xác định nguyên nhân gây ra lỗi hệ thống, chúng ta thực hiện các bước sau.

Chúng tôi khởi chạy một ứng dụng trong kho lưu trữ giống với tên của chương trình.

Một cửa sổ phần mềm sẽ mở ra. Tuy nhiên, giao diện đơn giản bằng tiếng Anh. Trước hết, chúng tôi chỉ ra vị trí để lưu bãi chứa nhỏ. Nhấp vào “Tùy chọn” và chọn “Tùy chọn nâng cao”.

Đặt dấu kiểm bên cạnh phần đầu tiên “Tải từ thư mục Kết xuất Mini sau” và cho biết thư mục chứa ảnh chụp nhanh lỗi. Nếu ban đầu một kết xuất nhỏ được đặt trong cài đặt hệ thống, thì chính chương trình sẽ chỉ ra đường dẫn đến ảnh chụp nhanh C:\WINDOWS\Minidump. Nhấn “Ok” để đến giao diện chương trình.

Khối được đánh số 1 là danh sách các bãi chứa sự cố do hệ thống tạo ra. Dưới số 2 có hình ảnh và danh sách driver.

Trình điều khiển gây ra lỗi hệ thống được biểu thị bằng màu hồng trong danh sách.

Nếu bạn không có danh sách trình điều khiển, hãy nhấp vào “Tùy chọn”. Đi tới “LowerPaneMode” và chọn “OnlyDriversFoundInStack”.

Sau khi xác định được trình điều khiển nào bị lỗi, chúng tôi đã khắc phục được sự cố.

Bạn có thường xuyên nhìn thấy Màn hình chết chóc của Windows (BSoD) không? BSoD có thể xảy ra trong các trường hợp khác nhau: cả khi làm việc với hệ thống và trong quá trình tải hệ điều hành. Làm cách nào để xác định nguyên nhân gây ra BSoD và khắc phục sự cố này? Hệ điều hành Windows có khả năng lưu trữ kết xuất bộ nhớ khi xảy ra lỗi để quản trị viên hệ thống có thể phân tích dữ liệu kết xuất và tìm ra nguyên nhân gây ra BSoD.

Có hai loại kết xuất bộ nhớ - nhỏ (minidump) và đầy đủ. Tùy thuộc vào cài đặt của hệ điều hành, hệ thống có thể lưu toàn bộ hoặc các kết xuất nhỏ hoặc không thực hiện hành động nào khi xảy ra lỗi.

Một bãi rác nhỏ nằm dọc theo con đường %systemroot%\minidump và có tên như Minixxxxxx-xx.dmp
Bãi chứa đầy đủ nằm dọc theo đường dẫn %Gốc hệ thống% và có tên như Memory.dmp

Để phân tích nội dung của kết xuất bộ nhớ, bạn nên sử dụng một tiện ích đặc biệt - Microsoft Kernel Debugger.
Bạn có thể lấy chương trình và các thành phần cần thiết cho hoạt động của nó trực tiếp từ trang web của Microsoft - Công cụ gỡ lỗi

Khi chọn trình gỡ lỗi, bạn nên tính đến phiên bản hệ điều hành mà bạn sẽ phải phân tích kết xuất bộ nhớ. Đối với HĐH 32 bit, cần có phiên bản 32 bit của trình gỡ lỗi và đối với HĐH 64 bit, tốt nhất nên sử dụng phiên bản 64 bit của trình gỡ lỗi.

Ngoài gói Công cụ gỡ lỗi cho Windows, bạn cũng sẽ cần một bộ biểu tượng gỡ lỗi - Biểu tượng gỡ lỗi. Tập hợp các biểu tượng gỡ lỗi dành riêng cho từng hệ điều hành mà BSoD được ghi lại. Do đó, bạn sẽ phải tải xuống một bộ ký hiệu cho từng hệ điều hành mà bạn sẽ phải phân tích hoạt động của chúng. Windows XP 32 bit sẽ yêu cầu bộ ký tự Windows XP 32 bit; hệ điều hành 64 bit sẽ yêu cầu bộ ký tự Windows XP 64 bit. Đối với các hệ điều hành khác thuộc họ Windows, bộ ký tự được chọn theo nguyên tắc tương tự. Bạn có thể tải xuống các biểu tượng gỡ lỗi từ đây. Nên cài đặt chúng tại %systemroot%\biểu tượng

Sau khi cài đặt trình gỡ lỗi và các biểu tượng gỡ lỗi, hãy khởi chạy trình gỡ lỗi. Cửa sổ gỡ lỗi sau khi khởi chạy trông như thế này.

Trước khi phân tích nội dung của kết xuất bộ nhớ, bạn sẽ cần thực hiện một chút cấu hình của trình gỡ lỗi. Cụ thể, hãy cho chương trình biết nơi cần tìm các biểu tượng gỡ lỗi. Để thực hiện việc này, hãy chọn từ menu Tệp > Đường dẫn tệp biểu tượng... Nhấp vào nút Duyệt... và chỉ ra thư mục mà chúng tôi đã cài đặt các biểu tượng gỡ lỗi cho kết xuất bộ nhớ được đề cập.

Bạn có thể yêu cầu thông tin về các biểu tượng gỡ lỗi cần thiết trực tiếp qua Internet, từ máy chủ công cộng của Microsoft. Bằng cách này, bạn sẽ có phiên bản mới nhất của các biểu tượng. Bạn có thể thực hiện việc này như sau - trong menu Tệp > Đường dẫn tệp biểu tượng…, nhập: SRV*%systemroot%\symbols*http://msdl.microsoft.com/download/symbols

Sau khi chỉ định đường dẫn đến biểu tượng gỡ lỗi, chọn Tệp > Lưu không gian làm việc từ menu và xác nhận hành động bằng cách nhấp vào OK.

Để bắt đầu phân tích kết xuất bộ nhớ, hãy chọn Tệp > Mở kết xuất sự cố... từ menu và chọn tệp cần thiết để kiểm tra.

Hệ thống sẽ phân tích nội dung, sau đó sẽ đưa ra kết quả về nguyên nhân nghi ngờ gây ra lỗi.

Lệnh !analyze -v được cung cấp cho trình gỡ lỗi trên dòng lệnh sẽ đưa ra thông tin chi tiết hơn.

Bạn có thể dừng gỡ lỗi bằng cách chọn mục menu Gỡ lỗi > Dừng gỡ lỗi

Do đó, bằng cách sử dụng gói Công cụ gỡ lỗi cho Windows, bạn luôn có thể có được bức tranh khá đầy đủ về nguyên nhân gây ra lỗi hệ thống.

Đôi khi ngay cả những điều chỉnh nhỏ nhất trong việc tối ưu hóa hệ thống Windows XP cũng có thể mang lại tác dụng có lợi cho hoạt động của toàn bộ hệ thống. Sự tối ưu hóa này đặc biệt có giá trị sau khi bạn lần đầu tiên nhận được “dấu đen” - BSOD (Màn hình xanh chết chóc). Điều gì xảy ra khi màn hình xanh chết chóc xuất hiện? Một số “từ điên rồ” kỳ lạ đang chạy trên màn hình, ngay cả những người dùng có kinh nghiệm cũng không hiểu được ý nghĩa của chúng. Tại thời điểm này, một “DUMP NHỚ” được tạo ra, một mẹo rất hay để tối ưu hóa Windows XP.

Kết xuất bộ nhớ là gì và làm thế nào để đóng nó?

Kết xuất bộ nhớ là bản ghi RAM của PC vào ổ cứng. Nội dung của tệp này có thể chỉ được một tầng lớp người dùng đặc biệt - các lập trình viên quan tâm. Nhưng đối với những “người giả”, một tập tin như vậy hoàn toàn không được quan tâm, điều đó có nghĩa là nó đơn giản là không cần thiết. Do đó, bạn có thể vô hiệu hóa chức năng kết xuất bộ nhớ một cách rõ ràng. Nhân tiện, bằng cách này, bạn sẽ giải phóng ổ cứng của mình khỏi các bản ghi không cần thiết và giảm thời gian tải. Hãy chuyển sang thuật toán đóng kết xuất bộ nhớ. Vì thế!

Chúng tôi thực hiện các bước sau:

  1. Nhấp vào nút “Bắt đầu” (không phải nút khởi động máy tính mà là nút ảo nằm ở phía dưới bên trái màn hình);
  2. Nhấp chuột PHẢI vào “Máy tính của tôi” và chọn “Thuộc tính” trong cửa sổ mở ra;
  3. Tab “Thuộc tính hệ thống” sẽ mở ra, nơi chúng tôi quan tâm đến phần “Nâng cao”;
  4. trong phần này, chọn mục dưới cùng “Tải xuống và khôi phục” và nhấp vào từ “Tùy chọn”;
  5. Một phần có tên “Tải xuống và khôi phục” sẽ mở ra. Chúng tôi xem và chọn mục “Ghi lại thông tin gỡ lỗi” (nó được đánh dấu màu xanh lam) và chọn “Vắng mặt” từ danh sách thả xuống;
  6. Bấm vào “OK”.

Ngắn gọn và rõ ràng. Ngay cả khi bạn chưa hiểu hết mọi thứ thì điều đó cũng không thành vấn đề: sự hiểu biết sẽ đến theo thời gian và kinh nghiệm. Và hôm nay bạn đã thực hiện bước nhỏ đầu tiên trong việc nắm vững các nguyên tắc sâu hơn của hệ thống máy tính. Và hãy để bài học này có vẻ quá đơn giản đối với một số người, nhưng tất cả những người hiện coi mình là người dùng ít nhiều nâng cao đều bắt đầu lại từ đầu.

Tôi chắc chắn rằng rất nhiều người sử dụng máy tính đều biết rất rõ màn hình xanh, lỗi BSoD hay màn hình chết là gì. Nhưng đồng thời tôi dám chắc rằng hầu như không ai biết rằng ngoài việc hiển thị lỗi trên màn hình, hệ thống còn để lại một báo cáo bổ sung theo mẫu tập tin dump. Với sự trợ giúp của nó, bạn có thể dễ dàng xác định chính xác nguyên nhân gây ra lỗi hệ thống và sự xuất hiện của màn hình xanh.

Vì vậy, ngay bây giờ tôi muốn nói về những tập tin này, hay đúng hơn là về cách thức và cách mở tệp kết xuất, để không gặp sự cố và nhanh chóng, chúng tôi không những có thể xác định mà còn khắc phục được sự cố với màn hình BSoD.

Mở tệp kết xuất để xác định nguồn gốc của sự cố

Trên thực tế, thông thường các quản trị viên hệ thống sửa chữa máy tính và máy tính xách tay sẽ chuyển sang kết xuất tập tin. Nhưng đôi khi ngay cả những người dùng bình thường nhất chỉ đơn giản là cố gắng tự khôi phục hệ điều hành của họ cũng có thể cần điều này.

Tất nhiên, để xem tệp kết xuất, chúng tôi sẽ cần tiện ích của bên thứ ba, vì thật không may, trong tài nguyên gốc của hệ điều hành Windows, khả năng mở tệp kết xuất để phân tích không được các nhà phát triển Microsoft cung cấp.

Tuy nhiên, mặc dù theo mặc định Windows không cài sẵn tiện ích xem file dump, Microsoft vẫn tung ra một chương trình có tên Debugging Tools for Windows, nhưng theo tôi thì nó không tiện lợi lắm. Vì vậy, tôi quyết định trình bày cách mở tệp kết xuất bằng một chương trình khác đơn giản hơn và chắc chắn không kém phần hữu ích có tên là BlueScreenView.

Bạn có thể hỏi tại sao lại có chương trình cụ thể này mà không phải chương trình khác? Vâng, bạn nói đúng, có đủ số lượng các tiện ích tương tự. Nhưng khi tôi mới bắt đầu làm việc với kết xuất, đây là chương trình đầu tiên tôi mở tệp kết xuất và khắc phục sự cố màn hình xanh. Và vì nó phù hợp với tôi trong mọi việc nên tôi vẫn sử dụng nó.

Cách mở và xem file DUMP bằng BlueScreenView

Vì vậy, hãy tải xuống BlueScreenView và chạy nó trên máy tính. Nhân tiện, một trong những ưu điểm tại sao tôi chọn tiện ích này để xem tệp kết xuất là nó không cần phải cài đặt trên máy tính vì nó có tính di động, cho phép bạn chạy BlueScreenView mà không cần cài đặt trước trên máy tính.

Chà, khi bạn khởi chạy chương trình, một giao diện tiện ích sẽ xuất hiện, trong đó bạn có thể xem ngay tất cả các tệp kết xuất có thể đã được lưu trước đó trên máy tính. Hay đúng hơn là những thứ có trong thư mục C:\Windows\MiniDump, ban đầu được thiết kế đặc biệt để lưu các tệp loại này. Do đó, cài đặt mặc định trong BlueScreenView là tìm kiếm các tệp kết xuất trong thư mục này. Nếu muốn hoặc cần thiết, bạn có thể thay đổi đường dẫn này bằng cách chỉ cần nhấp vào biểu tượng đầu tiên, nằm bên cạnh biểu tượng lưu.

Tuy nhiên, hãy quay lại các báo cáo kết xuất đã mở. Trên màn hình chính, bạn có thể xem thông tin về thời điểm tệp được tạo, vào thời điểm nào và tất nhiên, thông tin ngắn gọn trực tiếp về mã lỗi.

Bằng cách nhấp đúp vào một trong các tệp đã chọn, bạn có thể nhận được thông tin chi tiết hơn về nguyên nhân gây ra lỗi hệ điều hành. Ví dụ: bạn sẽ tìm ra trình điều khiển nào gây ra màn hình xanh, cũng như tên nhà sản xuất trình điều khiển, phiên bản của nó, v.v.

Có lẽ bạn sẽ không hiểu rõ điều gì từ báo cáo này, nhưng mục đích thực sự của bài viết này là, trong trường hợp xảy ra màn hình xanh, bạn có thể, được hướng dẫn bằng một ví dụ rõ ràng, mở tệp kết xuất và chụp ảnh màn hình báo cáo của nó, và đến lượt tôi, tôi sẽ giúp bạn tìm ra điều đó.

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ề nguyên nhân 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 hoán trang phải ít nhất 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ế độ kernel 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.