Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
CORE(5)			    BSD	File Formats Manual		       CORE(5)

     core -- memory image file format

     #include <sys/param.h>

     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 available debuggers.  (See
     sigaction(2).)  This memory image is written to a file named by default
     programname.core in the working directory;	provided the terminated
     process had write permission in the directory, and	provided the abnormal-
     ity 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.

     The name of the file is controlled	via the	sysctl(8) variable
     kern.corefile.  The contents of this variable describes a filename	to
     store the core image to.  This filename can be absolute, or relative
     (which will resolve to the	current	working	directory of the program gen-
     erating it).  Any sequence	of %N in this filename template	will be	re-
     placed by the process name, %P by the processes PID, and %U by the	UID.
     The name defaults to %N.core, yielding the	traditional FreeBSD behaviour.

     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	PAGE_SIZE
     (also from	<sys/param.h>).

     In	order to store all core	images in per-user private areas under
     /var/coredumps, the following sysctl(8) command can be used:

	   sysctl -w kern.corefile="/var/coredumps/%U/%N.core"

     gdb(1), kgdb(1), setrlimit(2), sigaction(2), sysctl(8)

     A core file format	appeared in Version 6 AT&T UNIX.

4th Berkeley Distribution      December	11, 1993     4th Berkeley Distribution


Want to link to this manual page? Use this URL:

home | help