Format In older and simpler operating systems, each process had a contiguous address-space, so a dump file was sometimes simply a file with the sequence of bytes, digits, characters or words. On other systems a dump file contained discrete records, each containing a storage address and the associated contents. On the earliest of these machines, the dump was often written by a stand-alone dump program rather than by the application or the operating system. The
IBSYS monitor for the
IBM 7090 included a System Core-Storage Dump Program that supported post-mortem and snap dumps. On the
IBM System/360, the standard operating systems wrote formatted ABEND and SNAP dumps, with the addresses, registers, storage contents, etc., all converted into printable forms. Later releases added the ability to write unformatted dumps, called at that time core image dumps (also known as SVC dumps.) In modern operating systems, a process address space may contain gaps, and it may share pages with other processes or files, so more elaborate representations are used; they may also include other information about the state of the program at the time of the dump. In
Unix-like systems, core dumps generally use the standard
executable image-
format: •
a.out in older versions of
Unix, •
ELF in modern
Linux,
System V,
Solaris, and
BSD systems, •
Mach-O in
macOS,
etc. Naming OS/360 and successors In
OS/360 and successors, a job may assign arbitrary data set names (dsnames) to the ddnames SYSABEND and SYSUDUMP for a formatted ABEND dump and to arbitrary ddnames for SNAP dumps, or define those ddnames as SYSOUT. The Damage Assessment and Repair (DAR) facility added an automatic unformatted storage dump to the dataset SYS1.DUMP at the time of failure as well as a console dump requested by the operator. A job may assign an arbitrary dsname to the ddname SYSMDUMP for an unformatted ABEND dump, or define that ddname as SYSOUT. The newer transaction dump is very similar to the older SVC dump. The
Interactive Problem Control System (IPCS), added to OS/VS2 by
Selectable Unit (SU) 57 and part of every subsequent
MVS release, can be used to interactively analyze storage dumps on
DASD. IPCS understands the format and relationships of system control blocks, and can produce a formatted display for analysis. The current versions of IPCS allow inspection of active address spaces without first taking a storage dump and of unformaated dumps on SPOOL.
Unix-like Since Solaris 8, system utility coreadm allows the name and location of core files to be configured. Dumps of user processes are traditionally created as core. On Linux (since versions 2.4.21 and 2.6 of the
Linux kernel mainline), a different name can be specified via
procfs using the /proc/sys/kernel/core_pattern
configuration file; the specified name can also be a template that contains tags substituted by, for example, the executable filename, the process ID, or the reason for the dump. System-wide dumps on modern Unix-like systems often appear as vmcore or vmcore.incomplete.
Others Systems such as
Microsoft Windows, which use
filename extensions, may use extension .dmp; for example, core dumps may be named memory.dmp or \Minidump\Mini051509-01.dmp.
Windows memory dumps Microsoft Windows supports two memory dump formats, described below.
Kernel-mode dumps There are five types of kernel-mode dumps: • Complete memory dump contains full physical memory for the target system. • Kernel memory dump contains all the memory in use by the kernel at the time of the crash. • Small memory dump contains various info such as the stop code, parameters, list of loaded device drivers, etc. • Automatic memory dump (
Windows 8 and later) same as Kernel memory dump, but if the
paging file is both System Managed and too small to capture the Kernel memory dump, it will automatically increase the paging file to at least the size of RAM for four weeks, then reduce it to the smaller size. • Active memory dump (Windows 10 and later) contains most of the memory in use by the kernel and user mode applications. To analyze the Windows kernel-mode dumps
Debugging Tools for Windows are used, a set that includes tools like WinDbg & DumpChk. is a memory dump of a single process. It contains selected data records: full or partial (filtered) process memory; list of the
threads with their
call stacks and state (such as
registers or
TEB); information about
handles to the kernel objects; list of loaded and unloaded
libraries. Full list of options available in MINIDUMP_TYPE enum. == Space missions ==