How to Read a DMP File: What It Contains and How to Open It

A .dmp file — short for dump file — is one of those things most users never think about until something goes wrong. When Windows crashes, an application freezes, or a system becomes unstable, the operating system often creates a DMP file automatically. Understanding what that file contains and how to read it can mean the difference between guessing at a problem and actually diagnosing it.

What Is a DMP File?

A DMP file is a memory dump — a snapshot of what was stored in your computer's RAM (and sometimes CPU registers and hardware state) at the moment a crash or error occurred. Windows generates these files as part of its crash reporting mechanism.

There are several types of dump files Windows can produce:

Dump TypeWhat It CapturesTypical Size
Complete Memory DumpFull contents of physical RAMEqual to installed RAM
Kernel Memory DumpKernel-mode memory onlyVaries, usually hundreds of MB
Small Memory Dump (Minidump)Minimal crash info, stop code, loaded drivers~256 KB
Automatic Memory DumpSimilar to kernel dump, OS-managedVaries

Minidumps are the most common type most users encounter. Windows stores them by default at C:WindowsMinidump. Full memory dumps land at C:WindowsMEMORY.DMP.

Why DMP Files Exist

When Windows encounters a fatal system error — commonly known as a Blue Screen of Death (BSOD) — it halts all processes and writes what it knows to disk before restarting. This preserves the crash state so developers, system administrators, or technically minded users can investigate afterward.

Applications can also generate their own dump files. A program that crashes or hangs may produce a .dmp through Windows Error Reporting or tools like Task Manager, which lets you manually create a dump of any running process.

Tools You Need to Read a DMP File 🔍

DMP files are binary files — you cannot open them in Notepad or a standard text editor and expect readable output. You need specialized tools.

WinDbg (Windows Debugger)

WinDbg is Microsoft's official debugging tool and the most capable option for reading DMP files. It's available free through the Windows SDK or directly from the Microsoft Store as WinDbg Preview.

To analyze a crash dump in WinDbg:

  1. Open WinDbg and go to File > Open Crash Dump
  2. Select your .dmp file
  3. Once loaded, type !analyze -v in the command window and press Enter
  4. WinDbg will output a detailed report including the bug check code, faulting module, and call stack

The key pieces of output to focus on:

  • BugCheck code — the stop error (e.g., DRIVER_IRQL_NOT_LESS_OR_EQUAL)
  • Probably caused by — WinDbg's best guess at the offending driver or module
  • Stack trace — the sequence of function calls leading to the crash

You'll also want to configure symbol files so WinDbg can translate memory addresses into readable function names. Point it to Microsoft's public symbol server: srv*C:Symbols*https://msdl.microsoft.com/download/symbols

WhoCrashed and BlueScreenView

If WinDbg feels intimidating, two free third-party tools simplify the process considerably:

  • WhoCrashed — parses minidump files and presents findings in plain language, identifying the likely driver or component at fault
  • BlueScreenView (NirSoft) — displays all minidump files in a grid, showing the crash date, stop code, and the driver listed in the stack at crash time

These tools are well-suited for users who want a quick read without learning debugger syntax. They're less powerful than WinDbg but cover most common BSOD investigations effectively.

Visual Studio

Developers diagnosing application-level crashes — not system crashes — often use Visual Studio, which has built-in dump file support. Opening a .dmp in Visual Studio lets you inspect threads, the call stack, and local variables from the moment of the crash, provided you have matching debug symbols.

What to Look for When Analyzing a DMP File 🛠️

Once you've opened the file, a few key elements carry the most diagnostic weight:

Stop code (Bug Check code): This is the high-level error category. Searching for this code gives context about what class of problem triggered the crash.

Faulting module: The driver or executable named here is the most likely culprit. Common offenders include outdated or corrupted GPU drivers, third-party antivirus kernel components, and storage controller drivers.

Call stack: The sequence of function calls shows what the system was doing. For experienced users, this narrows down whether the crash originated in hardware drivers, system services, or application code.

Timestamp of the dump: Cross-referencing with Windows Event Viewer (under System and Application logs) often reveals additional context — driver installation events, hardware errors, or software conflicts occurring around the same time.

Variables That Shape What You'll Find

Reading a DMP file isn't one-size-fits-all. What you can actually extract from the file — and how useful it is — depends on several factors:

  • Dump type: A minidump gives limited context. A full memory dump gives far more but requires more tools and storage to work with.
  • Symbol availability: Without matching symbols, addresses appear as raw hex values. Public Microsoft symbols are available, but symbols for third-party drivers may not be.
  • Technical skill level: WinDbg's output can be dense. The same crash analyzed by a kernel developer versus a casual user will yield very different results in terms of depth.
  • Whether the crash is reproducible: A one-off dump may not tell the whole story. Patterns across multiple dumps reveal more than a single event.
  • Application vs. system dumps: App-level dumps require source code and debug builds to fully interpret. System crash dumps rely on driver symbols and OS internals.

Someone comfortable with command-line debuggers and Windows internals can extract root-cause information from a minidump that would look like noise to someone opening the same file for the first time. The tool you choose and the depth you can reach are inseparable from where you're starting.