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.

     By	default, a process that	changes	user or	group credentials whether real
     or	effective will not create a corefile.  This behaviour can be changed
     to	generate a core	dump by	setting	the sysctl(8) variable
     kern.sugid_coredump to 1.

     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 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.

BSD				January	9, 2002				   BSD


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

home | help