SỰ MIÊU TẢ
Hành động mặc định của các tín hiệu nhất định là khiến một quá trình chấm dứt và tạo ra tệp kết xuất lõi , một tệp đĩa chứa hình ảnh của bộ nhớ của quy trình tại thời điểm chấm dứt. Hình ảnh này có thể được sử dụng trong trình gỡ lỗi (ví dụ: gdb (1)) để kiểm tra trạng thái của chương trình tại thời điểm nó kết thúc. Một danh sách các tín hiệu gây ra một quá trình đổ lõi có thể được tìm thấy trong tín hiệu (7).
...
Có nhiều trường hợp trong đó một tệp kết xuất lõi không được tạo ra:
* The process does not have permission to write the core file. (By
default, the core file is called core or core.pid, where pid is
the ID of the process that dumped core, and is created in the
current working directory. See below for details on naming.)
Writing the core file will fail if the directory in which it is to
be created is nonwritable, or if a file with the same name exists
and is not writable or is not a regular file (e.g., it is a
directory or a symbolic link).
* A (writable, regular) file with the same name as would be used for
the core dump already exists, but there is more than one hard link
to that file.
* The filesystem where the core dump file would be created is full;
or has run out of inodes; or is mounted read-only; or the user has
reached their quota for the filesystem.
* The directory in which the core dump file is to be created does
not exist.
* The RLIMIT_CORE (core file size) or RLIMIT_FSIZE (file size)
resource limits for the process are set to zero; see getrlimit(2)
and the documentation of the shell's ulimit command (limit in
csh(1)).
* The binary being executed by the process does not have read
permission enabled.
* The process is executing a set-user-ID (set-group-ID) program that
is owned by a user (group) other than the real user (group) ID of
the process, or the process is executing a program that has file
capabilities (see capabilities(7)). (However, see the description
of the prctl(2) PR_SET_DUMPABLE operation, and the description of
the /proc/sys/fs/suid_dumpable file in proc(5).)
* (Since Linux 3.7) The kernel was configured without the
CONFIG_COREDUMP option.
Ngoài ra, kết xuất lõi có thể loại trừ một phần không gian địa chỉ của quy trình nếu cờ madvise (2) MADV_DONTDUMP được sử dụng.
Đặt tên các tệp kết xuất lõi
Theo mặc định, một tệp kết xuất lõi được đặt tên là lõi, nhưng tệp / Proc / sys / kernel / core_potype (kể từ Linux 2.6 và 2.4.21) có thể được đặt để xác định một mẫu được sử dụng để đặt tên cho các tệp kết xuất lõi. Mẫu có thể chứa% specifier được thay thế bằng các giá trị sau khi tệp lõi được tạo:
%% a single % character
%c core file size soft resource limit of crashing process (since
Linux 2.6.24)
%d dump mode—same as value returned by prctl(2) PR_GET_DUMPABLE
(since Linux 3.7)
%e executable filename (without path prefix)
%E pathname of executable, with slashes ('/') replaced by
exclamation marks ('!') (since Linux 3.0).
%g (numeric) real GID of dumped process
%h hostname (same as nodename returned by uname(2))
%i TID of thread that triggered core dump, as seen in the PID
namespace in which the thread resides (since Linux 3.18)
%I TID of thread that triggered core dump, as seen in the
initial PID namespace (since Linux 3.18)
%p PID of dumped process, as seen in the PID namespace in which
the process resides
%P PID of dumped process, as seen in the initial PID namespace
(since Linux 3.12)
%s number of signal causing dump
%t time of dump, expressed as seconds since the Epoch,
1970-01-01 00:00:00 +0000 (UTC)
%u (numeric) real UID of dumped process
gdb path-to-your-binary path-to-corefile
, sau đóinfo stack
theo sauCtrl-d
. Điều đáng lo ngại duy nhất là việc bán phá giá cốt lõi là một điều bình thường đối với bạn.