我在没有 root 权限的机器上运行我的程序。核心文件应该由以下人员处理abrt
:
$ sysctl kernel.core_pattern
kernel.core_pattern = |/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e %P %I %h
那么,如何获取core文件呢?它不位于我的任何位置$HOME
,也不位于我运行程序的文件夹中。我尝试了很多地方,例如/var/spool
,,,等等。/var/cache
/var/tmp
根据abrt
文档我制作了一个配置文件,$HOME/.config/abrt/settings/abrt-applet.conf
其中包含:
AutoreportingEnabled = yes
ProcessUnpackaged = yes
DumpLocation = /path/to/existing/folder
(只有第二个变量来自文档,其他两个来自其他 abrt 文件,这里似乎不理解)
创建此文件后,core dumped
当我的程序崩溃时,我确实得到了提及行,而以前的情况并非如此,但没有出现核心文件。
答案1
最后,abrt-applet.conf
按照问题中的建议创建文件是最好的方法。然后不要忘记设置ulimit -c unlimited
并重新启动您的会话。 core文件出现在当前目录中,而不是在but指定的目录中DumpLocation
。