Memory Dump là gì?

TỔNG QUAN

Khi Windows bị lỗi gì đó, nó thường tạo một tập tin gọi là: memory dump file. Tập tin này chứa những thông tin có thể giúp xác định lý do tại sao hệ thống lại bị dừng lại/lỗi ở đâu. Ngoài ra, memory dump file còn rất hữu ích trong việc hỗ trợ chẩn đoán lỗi hệ thống và phân tích nội dung bộ nhớ khi một chương trình/program bị crash. Chính vì thế, biết cách sử dụng/debug memory dump file sẽ giúp lập trình viên rất là nhiều trong việc xác định bug nằm ở đâu.

CÁC LOẠI MEMORY DUMP

Về cơ bản, chúng ta có 3 loại memory dump

  • Complete memory dump
  • Kernel memory dump
  • Small memory dump

Complete memory dump

Như tên gọi của nó, đây là loại file dump lớn/đầy đủ nhất của Windows. Nó chứa tất cả thông tin về việc sử dụng bộ nhớ của hệ thống tại thời điểm xảy ra lỗi. Đây là loại file chứa nhiều thông tin nhất, nên dung lượng của nó cũng sẽ khá lớn (~vài GB)

Kernel memory dump

Với mode này, file dump chỉ lưu trữ thông tin về bộ nhớ của kernel, việc ghi ra file dump sẽ nhanh chóng hơn. Trên những hệ thống 32-bit, những file memory dump thường có dung lượng từ 150MB đến 2GB.

Small memory dump

Small memoy dump có kích thước nhỏ nhất, và chỉ lưu trữ một vài thông tin cần thiết cho việc debug. Loại file này có chứa một số thông tin như sau:

  • Stop message
  • A list of loaded drivers
  • The Kernel-mode call stack for the thread that stopped

File dump này khá hữu ích nếu máy của bạn có ít resource, tuy nhiên, vì có chứa ít thông tin, nên cũng có thể không chứa những thứ mà bạn cần.

Ở trên là giới thiệu sơ qua về file dump, các bạn có thể xem thêm cách debug với nó ở đây:

Sử dụng Windbg để debug crash