我已经明白,如果在Linux PC上安装了abrt-ccpp.service,它会取代/覆盖(我已经读过两个,不确定哪个是真的)文件{{1否则指定核心文件的位置和文件名模式。
问题:
当我执行/proc/sys/kernel/core_pattern
时,为什么abrt-ccpp.service会在systemctl
列下报告exited
?我不理解SUB
和active
的组合:服务"还活着" /主动/正在运行?
exited
问题:
核心文件在哪里生成?我写了这个程序来生成> systemctl
UNIT LOAD ACTIVE SUB
abrt-ccpp.service loaded active exited ...
:
SIGSEGV
编译和执行如下:
#include <iostream>
int main(int argc, char* argv[], char* envz[])
{
int* pInt = NULL;
std::cout << *pInt << std::endl;
return 0;
}
但我找不到核心文件的生成位置。
我尝试了什么:
> g++ main.cpp
> ./a.out
Segmentation fault (core dumped)
相同的目录。核心文件不存在。main.cpp
中的以下评论而在/var/tmp/abrt/
中查看。核心文件不存在。...
/etc/abrt/abrt.conf
...
# Specify where you want to store coredumps and all files which are needed for
# reporting. (default:/var/tmp/abrt)
#
# Changing dump location could cause problems with SELinux. See man_abrt_selinux(8).
#
#DumpLocation = /var/tmp/abrt
中查看。核心文件不存在。/var/spool/abrt/
并取消注释并设置/etc/abrt/abrt.conf
这是一个现有目录。通过重新启动abrt-hook-ccpp(DumpLocation = ~/foo
)并重新运行sudo service abrt-ccpp restart
来执行此操作。未在a.out
~/foo/
举报ulimit -c
。我不知道还有什么可以尝试以及在哪里可以看。
如果有帮助,这是我的unlimited
:
/proc/sys/kernel/core_pattern
有人可以帮助解释abrt-hook-ccpp服务的工作原理以及它生成核心文件的位置吗?谢谢。
答案 0 :(得分:1)
我想赞扬https://unix.stackexchange.com/users/119298/meuh在https://unix.stackexchange.com/questions/343240/cannot-locate-core-file-with-abrt-hook-cpp-installed回答此问题的人{{3}}。
答案是在文件/etc/abrt/abrt-action-save-package-data.conf
ProcessUnpackaged = yes
来自@ daniel-kamil-kozar的评论也是一个可行的解决方法。