abrt-hook-cpp가 설치된 핵심 파일은 어디에 있습니까?

abrt-hook-cpp가 설치된 핵심 파일은 어디에 있습니까?

얼마 전에 StackOverflow에 이 질문을 올렸는데 이제서야 이 커뮤니티를 발견했고 이 사이트가 적어도 이 질문에 똑같이 적합한 사이트라고 생각합니다.

/proc/sys/kernel/core_patternabrt-ccpp.service가 Linux PC에 설치되면 코어 파일의 위치와 파일 이름 패턴을 지정하는 파일을 대체/덮어씁니다(둘 다 읽었지만 어느 것이 사실인지는 확실하지 않음) .

질문:

abrt-ccpp.service 를 실행할 때 해당 열 아래에 보고하는 systemctl이유는 무엇입니까 ? 다음의 조합을 이해하지 못합니다 . 서비스가 "활성"/활성/실행 중입니까?exitedSUBactiveexited

> 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하고 주석 처리를 해제한 후 설정합니다 . DumpLocation = ~/foo그런 다음 abrt-hook-ccpp( sudo service abrt-ccpp restart)를 다시 시작하고 다시 실행하십시오 a.out. 코어 파일이 생성되지 않았습니다.~/foo/
  • ulimit -c확인 후 보고서는 다음과 같이 말했습니다 unlimited.

그 밖에 무엇을 시도해야 할지, 어디를 봐야 할지 모르겠습니다.

도움이 된다면 제가 가지고 있는 정보는 다음과 같습니다 /proc/sys/kernel/core_pattern.

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

abrt-hook-ccpp 서비스의 작동 방식과 핵심 파일이 생성되는 위치를 설명하는 데 도움을 줄 수 있는 사람이 있습니까? 감사해요.

답변1

한 가지 가능성은 구성 파일의 행을 변경해야 한다는 것입니다./etc/abrt/abrt-action-save-package-data.conf

ProcessUnpackaged = no

그렇지 않으면 abrtd는 yes패키지 관리자( dnf또는 기타) apt가 설치한 프로그램에서만 핵심 파일을 캡처 합니다. 코어 덤프를 사용 abrt-gui하거나 찾으십시오.abrt-cli

답변2

meuh가 말한 것 외에도 abrt 데몬이 충돌 정보를 수집한 후(위 구성 파일을 수정한 후 다시 시작) abrt-cli 또는 abrt-gui를 사용하여 해당 정보가 어디에 있는지 확인할 수 있습니다.

# abrt-cli -a ls
id xxxxxxxxxxxxxxxxxx
reason:         MYPROGRAM killed by SIGABRT
time:           Thu 10 Jan 2019 11:48:07 AM CET
cmdline:        ./myExecutable
uid:            1001
Directory:      /var/spool/abrt/ccpp-2019-01-10-11:48:07-17559
Run 'abrt-cli report /var/spool/abrt/ccpp-2019-01-10-11:48:07-17559' for creating a case in Red Hat Customer Portal

제공된 디렉토리에서 coredump파일을 찾을 수 있습니다.

관련 정보