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

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ファイルを見つけることができます。

関連情報