coredumpctl
NAME
coredumpctl - 检索和处理已保存的核心转储和元数据
SYNOPSIS
coredumpctl [OPTIONS...] {COMMAND} [PID|COMM|EXE|MATCH...]
DESCRIPTION
coredumpctl 是一个可以用来检索和处理 systemd-coredump(8) 保存的核心转储和元数据的工具。
OPTIONS
可以理解以下选项:
- -h, --help
打印简短的帮助文本并退出。 - –version
以简洁的形式打印版本并退出。 - –no-legend
不要打印列标题。 - –no-pager
Do not pipe output into a pager. - -1
只显示单个核心转储的信息,而不是列出所有已知的核心转储。 - -S, --since
仅打印指定日期之后的条目。 - -U, --until
仅打印指定日期之前的条目。 - -r, --reverse
反转输出,以便优先显示最新的条目。 - -F FIELD, --field=FIELD
Print all possible data values the specified field takes in matching core dump entries of the journal. - -o FILE, --output=FILE
Write the core to FILE. - –debugger=DEBUGGER
使用给定的调试器执行调试命令。如果未给定并且未设置$SYSTEMD_DEBUGGER,则将使用 gdb(1)。 - -D DIR, --directory=DIR
使用指定DIR中的日志文件。 - -q, --quiet
抑制有关无法访问日志文件和可能的运行中核心转储的信息性消息。
COMMANDS
以下命令理解如下:
可以理解以下命令:
-
list
列出在日志中捕获的与指定特征匹配的核心转储。如果未指定任何命令,则这是隐含的默认值。
输出设计为可读的,包含列表。列表包含一个包含以下列的表:
TIME
崩溃的时间戳,由内核报告。
PID
崩溃进程的标识符。
UID, GID
崩溃进程的用户和组标识符。
SIGNAL
导致进程崩溃的信号(如果适用的话)。
COREFILE
是否存储了 coredump,以及它是否仍然可以访问:“none” 表示 core 没有存储,“-” 表示它不可用(例如,因为进程没有被信号终止),“present” 表示当前用户可以访问核心文件,“journal” 表示 core 存储在 “journal” 中、“truncated” 与前两个相同,但 core 太大,没有完整存储、“error” 表示无法访问 core 文件,很可能是因为权限不足,“missing” 表示 core 存储在一个文件中,但该文件已被删除。
EXE
可执行文件的完整路径。对于脚本的堆栈,这是解释器的名称。
值得注意的是,不同的限制适用于日志中保存的数据和 /var/lib/systemd/coredump 中保存的核心转储文件,请参阅 systemd-coredump(8) 中的概述。因此,很可能发生的情况是,特定的核心转储仍然列在日志中,而其相应的核心转储文件已经被删除。 -
info
显示日志中捕获的关于核心转储的详细信息。 -
dump
提取与指定特征匹配的最后一个核心转储。除非使用 --output= 指定了输出文件,否则核心转储将写入标准输出, -
debug
在匹配指定特征的最后一个核心转储上调用调试器。默认情况下,将使用 gdb(1)。可以使用 --debugger= 选项或 $SYSTEMD_DEBUGGER 环境变量来更改。
MATCHING
匹配可以是:
PID
转储核心的进程的进程ID。一个整数。
COMM
可执行文件的名称(与 COREDUMP_COMM= 匹配)。不能包含斜杠。
EXE
可执行文件的路径(与 COREDUMP_EXE= 匹配)。必须至少包含一个斜杠。
MATCH
常规 journalctl 匹配筛选器,必须包含等号(“=”)。请参阅 journalctl(1)。
EXIT STATUS
如果成功,返回 0;否则,返回一个非零的失败代码。没有找到任何匹配的核心转储将被视为失败。
ENVIRONMENT
$SYSTEMD_DEBUGGER
Use the given debugger for the debug command. See the --debugger= option.
EXAMPLES
-
列出一个名为foo的程序的所有核心转储
# coredumpctl list foo
-
在最后一个核心转储上调用gdb
# coredumpctl debug
-
显示有关转储核心的进程的信息,通过其 PID 6654 进行匹配
# coredumpctl info 6654
-
将 /usr/bin/bar 的最后一个核心转储提取到到名为 bar.coredump 的文件中
# coredumpctl -o bar.coredump dump /usr/bin/bar
SEE ALSO
systemd-coredump(8), coredump.conf(5), systemd-journald.service(8), gdb(1)