CORE(5) 386BSD Programmer's Manual CORE(5)
NAME
core - memory image file format
SYNOPSIS
#include <sys/param.h>
DESCRIPTION
A small number of signals which cause abnormal termination of a process
also cause a record of the process's in-core state to be written to disk
for later examination by one of the aviailable debuggers. (See
sigaction(2).) This memory image is written to a file named
progname.core in the working directory, where progname is replaced by the
name of the program; provided the terminated process had write permission
in the directory, the filesystem on which the working directory is on was
not mounted with the option nocore (See mount(8)), and provided the
abnormality did not cause a system crash. (In this event, the decision
to save the core file is arbitrary, see savecore(8).)
The maximum size of a core file is limited by setrlimit(2). Files which
would be larger than the limit are not created. Also, the kernel tries
hard to not overwrite an existing file unless it is in standard coredump
format and was produced from the same program.
The core file consists of the u. area, whose size (in pages) is defined
by the UPAGES manifest in the <sys/param.h> file. The u. area starts
with a user structure as given in <sys/user.h>. The remainder of the core
file consists of the data pages followed by the stack pages of the
process image. The amount of data space image in the core file is given
(in pages) by the variable u_dsize in the u. area. The amount of stack
image in the core file is given (in pages) by the variable u_ssize in the
u. area. The size of a ``page'' is given by the constant NBPG (also from
<sys/param.h>).
SEE ALSO
adb(1), dbx(1), gdb(1), kgdb(1), sigaction(2), setrlimit(2)
HISTORY
A core file format appeared in Version 6 AT&T UNIX.
4th Berkeley Distribution April 29, 1991 1