User Tools

Site Tools


core_dump

Table of Contents

Core dump

Return to Programming topics or Core

In computing, a core dump,1) memory dump, crash dump, system dump, or ABEND dump consists of the recorded state of the working memory of a computer program at a specific time, generally when the program has crashed or otherwise terminated abnormally. In practice, other key pieces of program state are usually dumped at the same time, including the processor registers, which may include the program counter and stack pointer, memory management information, and other processor and operating system flags and information. A snapshot dump (or snap dump) is a memory dump requested by the computer operator or by the running program, after which the program is able to continue. Core dumps are often used to assist in diagnosing and debugging errors in computer programs.

On many operating systems, a fatal exception in a program automatically triggers a core dump. By extension, the phrase “to dump core” has come to mean in many cases, any fatal error, regardless of whether a record of the program memory exists. The term “core dump”, “memory dump”, or just “dump” has also become jargon to indicate any output of a large amount of raw data for further examination or other purposes.2)3)

Background

The name comes from magnetic core memory,<ref>Oxford English Dictionary, s.v. 'core'</ref> the principal form of random access memory from the 1950s to the 1970s. The name has remained long after magnetic core technology became obsolete.

Earliest core dumps were paper printouts<ref>

</ref> of the contents of memory, typically arranged in columns of octal or hexadecimal numbers (a “hex dump”), sometimes accompanied by their interpretations as machine language instructions, text strings, or decimal or floating-point numbers (cf. disassembler).

As memory sizes increased and post-mortem analysis utilities were developed, dumps were written to magnetic media like tape or disk.

Instead of only displaying the contents of the applicable memory, modern operating systems typically generate a file containing an image of the memory belonging to the crashed process, or the memory images of parts of the address space related to that process, along with other information such as the values of processor registers, program counter, system flags, and other information useful in determining the root cause of the crash. These files can be viewed as text, printed, or analysed with specialised tools such as elfdump on Unix and Unix-like systems, objdump and kdump on Linux, WinDbg on Microsoft Windows, Valgrind, or other debuggers.

1)
The term core is obsolete on contemporary hardware, but is used on many systems for historical reasons.
2)
https://www.techopedia.com/definition/23340/database-dump, What is a Database Dump? - Definition from Techopedia, Cory Janssen
3)
https://www.sophos.com/en-us/support/knowledgebase/111474.aspx, How to configure a computer to capture a complete memory dump
core_dump.txt · Last modified: 2024/04/28 03:17 by 127.0.0.1