如何在 ubuntu 中生成核心转储(以及在哪里找到它)?

如何在 ubuntu 中生成核心转储(以及在哪里找到它)?

我有一个程序会抛出分段错误,例如:

Segmentation fault (core dumped)

但我找不到核心转储文件。

我做了什么:

  • 跑步ulimit -c unlimited
  • 跑步sudo systemctl enable apport
  • 跑步sudo service apport start

仍然没有核心转储文件,无论是在本地文件夹中,还是在/var/lib/systemd/coredump/(空)中,也不在(只是系统中的/var/crash两个不相关的文件)中。.crash

我缺少什么?我是否应该恢复上述任何命令,因为它们不适用于我的系统?

> hostnamectl
     Operating System: Ubuntu 20.04.5 LTS
               Kernel: Linux 5.11.0-27-generic
         Architecture: x86-64

答案1

苏拉布埃达克的文章核心转储——如何启用它们?

  • ulimit -S -c unlimited启用核心转储的捕获。
  • coredumpctl如果需要,请安装( sudo apt install systemd-coredump)。
  • 捕获下一个核心转储,因为之前的核心转储可能未捕获。
  • 然后coredumpctl listcoredumpctl info -1将分别列出或显示最后的核心转储。

相关内容