CORE(5) File Formats 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 available debuggers. (See
sigaction(2).) This memory image is written to a file named by default
core.pid, where pid is the process ID of the process, in the /cores
directory, provided the terminated process had write permission in the
directory, and the directory existed.
The maximum size of a core file is limited by setrlimit(2). Files which
would be larger than the limit are not created.
The core file consists of the Mach-O(5) header as described in the
⟨mach-o/loader.h⟩ file. The remainder of the core file consists of
various sections described in the Mach-O(5) header.
NOTE
Core dumps are disabled by default under Darwin/macOS. To re-enable core
dumps, do one of the following
* For subsequent processes spawned by launchd and their child processes,
a privileged user can issue the command
# launchctl limit core unlimited
* For susequent processes spawned by a shell, use ulimit(1) or limit(1)
depending upon the shell.
% ulimit -c unlimited
or
% limit coredumpsize unlimited
To disable core dumps, set the limit to 0 using one of the aforementioned
ways.
SEE ALSO
lldb(1), setrlimit(2), sigaction(2), launchd.conf(5), launchd.plist(5),
Mach-O(5), sysctl(8)
HISTORY
A core file format appeared in Version 1 AT&T UNIX.
macOS 15.2 December 22, 2020 macOS 15.2