web-dev-qa-db-ja.com

非パッケージのクラッシュダンプを有効にする

アプリケーションfooがあり、これをUbuntuマシンに手動でインストールしました(パッケージはオプションではありません)。 fooはスクリプトから呼び出されます。このアプリケーションがクラッシュすると、/var/crashにエントリが表示されますが、コアダンプは作成されません。だからこれを読んでから、私は次のことをしました:

  • 無効apport(in /etc/default/apport)。
  • システムのソフトダンプ制限を無効にします(* soft core unlimited/etc/security/limits.conf
  • fooを呼び出す前に、ulimit -Sc unlimitedulimit -Hc unlimitedを配置します。

それでも、コアダンプは取得しません(fooと同じディレクトリに表示されるはずです)。

誰かが私に何が欠けているのか教えてください。

2
abergmeier

おそらくあなたはそれを間違った方法で行った-デフォルトでは、apportはパッケージ化されていないバイナリを処理するために無効にする必要はありません、ログファイル(/var/log/apport.log)に数行を記録して落下しますデフォルトのカーネル動作まで-コアファイルを現在のディレクトリに書き込みます。

これがうまくいかなかった場合、おそらくapportについてではなかったでしょう。バイナリを実行しているユーザーがfooのディレクトリに書き込みできないなど、他の前提条件がなかった可能性が高いです。

2
Josip Rodin