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

おすすめ記事