web-dev-qa-db-ja.com

abrt-hook-cppがインストールされたコアファイルはどこにありますか?

私は少し前にこの質問をStackOverflowに投稿しましたが、たった今このコミュニティが見つかり、これはこの質問に少なくとも同等に適切なサイトであると感じました。

Linux PCにabrt-ccpp.serviceがインストールされている場合、ファイル/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と同じディレクトリを探しました。コアファイルがありません。
  • /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

...

  • this link でのコメントのため、/var/spool/abrt/を調べました。コアファイルがありません。
  • /etc/abrt/abrt.confを編集してコメントを外し、既存のディレクトリであるDumpLocation = ~/fooを設定しました。その後、abrt-hook-ccpp(Sudo service abrt-ccpp restart)を再起動し、a.outを再実行しました。コアファイルは~/foo/で生成されませんでした
  • ulimit -cunlimitedを報告することを確認しました。

私は他に何を試すべきか、どこを見るべきかについての考えがありません。

参考までに、これは私の/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サービスがどのように機能し、コアファイルを生成する場所を説明できますか?ありがとうございました。

6
StoneThrow

1つの可能性は、設定ファイル/etc/abrt/abrt-action-save-package-data.confの行を変更する必要があることです。

ProcessUnpackaged = no

yesに変更しないと、パッケージマネージャによってインストールされたプログラム(dnfaptなど)からのコアファイルのみがキャプチャされます。 abrt-guiまたはabrt-cliを使用して、コアダンプを探します。

5
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ファイルがあります。

0
UaT