如何在 Fedora 16 上启用核心转储?

如何在 Fedora 16 上启用核心转储?

我的配置。

$ cat /proc/sys/kernel/core_pattern 
core
$ cat /proc/sys/kernel/core_pipe_limit 
0
$ cat /proc/sys/kernel/core_uses_pid 
1
$ selinuxenabled && echo enabled || echo disabled
disabled
$ ps aux | grep abrt
500       2192  0.0  0.1 251036  5640 ?        S    10:01   0:00 abrt-applet
500       5673  0.0  0.0 109252   884 pts/0    S+   10:29   0:00 grep --color=auto abrt
$ ulimit -c
unlimited

我做什么。

我在 gnome 终端中使用 bash 启动程序。它没有被守护进程化或分离。然后我从另一个终端执行以下操作killall -ABRT <program_name>。程序结束并留下消息Aborted。在文件系统上找不到核心文件。

如何解决此问题?我还能做什么或检查什么?

答案1

找到解决方案。

问题出在 core_pattern 上,因为我的程序以某种方式将它的 cwd 更改为/,因此无法将任何内容写入文件系统根目录。

可以在 下看到进程 cwd /proc/<pid>/cwd

因此,我改变了 core_pattern,echo '/tmp/core.%p' > /proc/sys/kernel/core_pattern这有帮助。

相关内容