abrt-ccpp.service:核心文件在哪里?

abrt-ccpp.service:核心文件在哪里?

我是 Linux 的新手,正在学习服务,特别是针对这个问题的 abrt-ccpp.service。

我了解到,如果 abrt-ccpp.service 安装在 Linux PC 上,它会取代/覆盖(我已阅读两者,不确定哪个是真的)文件/proc/sys/kernel/core_pattern,否则会指定核心文件的位置和文件名模式。

问题

当我执行 时systemctl,为什么 abrt-ccpp.service 会在列exited下报告?我不明白和SUB的组合:守护进程是否“活着”?activeexited

> 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.一些阅读引导我找到/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/tmp/abrt, 但 没有 任何 与 我 相关 的 内容a.out.

我的内容/proc/sys/kernel/core_pattern似乎已被与 abrt-ccpp 相关的一些内容覆盖:

> cat /proc/sys/kernel/core_pattern
|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e

但我不知道该如何解释这一点。

有人能帮我了解这项服务吗?谢谢。

答案1

感谢https://unix.stackexchange.com/users/119298/meuh,解决方法是编辑/etc/abrt/abrt-action-save-package-data.conf添加此行:

ProcessUnpackaged = yes

相关内容