我试图在 Ubuntu 18.04 中生成核心文件。我的程序生成了一个核心文件,但我找不到它。
$ ./a.out
Segmentation fault (core dumped)
$ ls -lrt
total 32
-rwxrwxrwx 1 sanjay sanjay 302 Mar 4 16:38 segmentation.cpp
-rwxrwxrwx 1 sanjay sanjay 28720 Mar 4 16:47 a.out
答案1
由于非编程用户从核心转储中几乎无法获得任何信息,因此你的 shell 可能会默认通过将该ulimit
值设置为零来抑制它们:
$ ulimit -c
0
您可以将值设置为任何非零大小,或者直接使用以下命令完全删除限制ulimit -c unlimited
请参阅help ulimit
或参考man bash
以了解详细信息。
答案2
查看我在哪里可以找到 ubuntu 16.04LTS 中的核心转储?
在 Ubuntu 中,核心转储由 Apport 处理,位于 /var/crash/。但在稳定版本中,它默认被禁用