我正在尝试了解核心转储的工作原理。
我使用test.c文件生成核心转储:
我使用编译。
当我运行./test时,它会给我以下信息。
我的文件
包含:
我检查了我有写入该目录的权限。
但是在核心转储之后,这个文件夹 (/var/crash/) 中没有任何东西。我正在使用Linux 17.04版本。你知道可能出了什么问题吗?
编辑:
我忘记提到我使用以下命令设置了限制:
所以,的输出结果是:
读作:
我甚至尝试按照他们在这里的如何启用apport部分所说的去做,所以我在前面加了一个井号。
但是尽管如此,核心转储文件仍无法在 /var/cash 中找到。
我使用test.c文件生成核心转储:
#include <stdio.h>
void foo()
{
int *ptr = 0;
*ptr = 7;
}
int main()
{
foo();
return 0;
}
我使用编译。
gcc test.c -o test
当我运行./test时,它会给我以下信息。
Segmentation fault (core dumped)
我的文件
/proc/sys/kernel/core_pattern
包含:
|/usr/share/apport/apport %p %s %c %d %P
我检查了我有写入该目录的权限。
/var/crash/
但是在核心转储之后,这个文件夹 (/var/crash/) 中没有任何东西。我正在使用Linux 17.04版本。你知道可能出了什么问题吗?
编辑:
我忘记提到我使用以下命令设置了限制:
ulimit -c unlimited
所以,的输出结果是:
ulimit -c
读作:
unlimited
我甚至尝试按照他们在这里的如何启用apport部分所说的去做,所以我在前面加了一个井号。
'problem_types': ['Bug', 'Package']
但是尽管如此,核心转储文件仍无法在 /var/cash 中找到。
apport
”再到一个无关目录/var/crash/
的权限的。 - tripleee