Code and data on a screen, representing a core dump.

A snapshot of a program's memory saved when it crashes.

What a core dump is

A core dump is a recorded snapshot of a program's memory, captured at a particular moment - typically when the program crashes. It preserves the contents of the program's memory so that, even after the program has stopped, developers can go back and examine the state it was in when it failed. The name is a historical term, but the idea is simply a saved image of what the program held in memory at the time of the crash.

Why core dumps exist

When a program crashes, the immediate failure is over in an instant, and without a record there may be little to investigate. A core dump solves this by freezing the program's memory to storage at the moment of failure. This gives developers something concrete to study afterward, rather than having to catch the crash as it happens. It is a way of capturing evidence from the scene so the problem can be analyzed later.

What a core dump contains

A core dump captures the contents of the program's memory, which includes the data the program was working with and information about what it was doing when it stopped. By examining this snapshot, a developer can reconstruct the program's state at the time of the crash - what values it held and where it was in its work. This makes the core dump a rich source of clues about the cause of a failure.

How core dumps are used

Developers analyze core dumps using specialized tools that can read the saved memory and present it in an understandable way. From the dump, they can often work out where the program was, what led to the crash, and which data may have been involved. This after-the-fact analysis is especially valuable for failures that are hard to reproduce, since the dump captures the exact failing state even if the crash only happened once.

Core dumps and troubleshooting

Core dumps are particularly useful for diagnosing crashes that occur in real use rather than in testing, where a developer may not be watching. A dump produced on a user's machine or a server can be examined later to understand a failure that would otherwise be a mystery. Because they preserve the precise moment of failure, core dumps are a key tool for getting to the bottom of difficult, intermittent crashes.

Why it matters

The core dump is a valuable debugging tool that captures the state of a crashed program for later study. Understanding what a core dump is - a saved snapshot of a program's memory at the moment it failed - clarifies how developers investigate crashes that are already over. For anyone interested in how software failures are diagnosed, especially hard-to-reproduce ones, the core dump is an important concept.

See also: What is a stack trace? Explained simply, What is a memory leak? Explained simply.

Sources

Published date reflects the original event date (2023-05-23). This article is original Skillo editorial written from the sources above; facts were verified in September 2026.

Skillo Staff

Skillo Staff

All stories by: Skillo Staff

Leave a Reply