在哪里可以搜索Linux应用程序崩溃生成的核心文件?

在哪里可以搜索Linux应用程序崩溃生成的核心文件?

我正在尝试找出我的一个 Linux 应用程序崩溃的原因。但我不知道核心去哪里了。

cat /proc/sys/kernel/core_pattern
core.%e.%p

任何想法?

答案1

系统使用系统通常配置为将核心转储到

/var/lib/systemd/coredump/

您可以使用该coredumpctl命令列出核心转储。也可以看看迁移到 systemd 后不再有 coredumps

答案2

核心转储写入崩溃时进程的当前目录中。

当然,需要启用核心转储,默认情况下,这些转储通常是禁用的。检查 的输出ulimit -c,如果为 0,则不会写入任何核心文件。运行ulimit -c unlimited以启用核心转储;这是每个进程的设置,由该进程启动的进程继承。

如果应该生成核心转储但您不知道在哪里,那么您可以再次启动该进程(如果不会立即崩溃),然后通过执行“ ls -l /proc/$pid/cwdwhere $pidis the process ID”来检查其工作目录。该链接将指向该进程的当前工作目录。很可能会有核心转储。否则你需要find在整个系统上运行......

相关内容