diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 16:08:12 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 16:08:12 -0400 |
| commit | b9cde963555b6519c5dbd34a39dee3418f593437 (patch) | |
| tree | 453accad3c3286e3416d4160de4a87223aff684c /static/freebsd/man5/core.5 | |
| parent | 5cb84ec742fd33f78c8022863fadaa8d0d93e176 (diff) | |
feat: Added FreeBSD man pages
Diffstat (limited to 'static/freebsd/man5/core.5')
| -rw-r--r-- | static/freebsd/man5/core.5 | 190 |
1 files changed, 190 insertions, 0 deletions
diff --git a/static/freebsd/man5/core.5 b/static/freebsd/man5/core.5 new file mode 100644 index 00000000..628fdb79 --- /dev/null +++ b/static/freebsd/man5/core.5 @@ -0,0 +1,190 @@ +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd July 17, 2025 +.Dt CORE 5 +.Os +.Sh NAME +.Nm core +.Nd memory image file format +.Sh SYNOPSIS +.In sys/param.h +.Sh 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 available debuggers. +(See +.Xr sigaction 2 . ) +This memory image is written to a file named by default +.Nm programname.core +in the working directory; +provided the terminated process had write permission in the directory, +and provided the abnormality did not cause +a system crash. +(In this event, the decision to save the core file is arbitrary, see +.Xr savecore 8 . ) +.Pp +The name of the file is controlled via the +.Xr sysctl 8 +variable +.Va 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 +generating it). +.Pp +The following format specifiers may be used in the +.Va kern.corefile +sysctl to insert additional information into the resulting core +filename: +.Bl -tag -width "1234567890" -compact -offset "12345" +.It Em \&%H +Machine hostname. +.It Em \&%I +An index starting at zero until the sysctl +.Em debug.ncores +is reached. +This can be useful for limiting the number of corefiles +generated by a particular process. +.It Em \&%N +process name. +.It Em \&%P +processes PID. +.It Em \&%S +signal during core. +.It Em \&%U +process UID. +.El +.Pp +The name defaults to +.Em \&%N.core , +yielding the traditional +.Fx +behaviour. +.Pp +The maximum size of a core file is limited by the +.Dv RLIMIT_CORE +.Xr setrlimit 2 +limit. +Files which would be larger than the limit are not created. +.Pp +With a large limit, a process that had mapped a very large, +and perhaps sparsely populated, virtual memory region, could take +a very long time to create core dumps. +The system ignores all signals sent to a process writing a core file, except +.Dv SIGKILL +which terminates the writing and causes immediate exit of the process. +The behavior of +.Dv SIGKILL +can be disabled by setting tunable +.Xr sysctl 8 +variable +.Va kern.core_dump_can_intr +to zero. +.Pp +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 +.Xr sysctl 8 +variable +.Va kern.sugid_coredump +to 1. +.Pp +Corefiles can be compressed by the kernel if one of the following items +are included in the kernel configuration file: +.Bl -tag -width "1234567890" -compact -offset "12345" +.It options +GZIO +.It options +ZSTDIO +.El +.Pp +The following sysctl control core file compression: +.Bl -tag -width "kern.compress_user_cores_level" -compact -offset "12345" +.It Em kern.compress_user_cores +Enable compression of user cores. +A value of 1 configures +.Xr gzip 1 +compression, +and a value of 2 configures +.Xr zstd 1 +compression. +Compressed core files will have a suffix of +.Ql .gz +or +.Ql .zst +appended to their filenames depending on the selected format. +.It Em kern.compress_user_cores_level +Compression level. +Defaults to 6. +.El +.Sh NOTES +Corefiles are written with open file descriptor information as an ELF note. +By default, file paths are packed to only use as much space as needed. +However, file paths can change at any time, including during core dump, +and this can result in truncated file descriptor data. +.Pp +All file descriptor information can be preserved by disabling packing. +This potentially wastes up to PATH_MAX bytes per open fd. +Packing is disabled with +.Dl sysctl kern.coredump_pack_fileinfo=0 . +.Pp +Similarly, corefiles are written with vmmap information as an ELF note, which +contains file paths. +By default, they are packed to only use as much space as +needed. +By the same mechanism as for the open files note, these paths can also +change at any time and result in a truncated note. +.Pp +All vmmap information can be preserved by disabling packing. +Like the file information, this potentially wastes up to PATH_MAX bytes per +mapped object. +Packing is disabled with +.Dl sysctl kern.coredump_pack_vmmapinfo=0 . +.Sh EXAMPLES +In order to store all core images in per-user private areas under +.Pa /var/coredumps +(assuming the appropriate subdirectories exist and are writable by users), +the following +.Xr sysctl 8 +command can be used: +.Pp +.Dl sysctl kern.corefile=/var/coredumps/\&%U/\&%N.core +.Sh SEE ALSO +.Xr gdb 1 Pq Pa ports/devel/gdb , +.Xr gzip 1 , +.Xr kgdb 1 Pq Pa ports/devel/gdb , +.Xr setrlimit 2 , +.Xr sigaction 2 , +.Xr sysctl 8 +.Sh HISTORY +A +.Nm +file format appeared in +.At v1 . |
