Apacheコアダンプを取得する方法


8

14.10 Ubuntuサーバーに問題があります。特定のアクションを実行すると、私のapache2がセグメンテーション違反エラーで再起動します。この問題をデバッグするために、コアダンプを作成します。私は次のことを行いました:

  • CoreDumpDirectory /tmp/apache-coredumps設定ファイルに追加
  • 走る ulimit -c unlimited
  • 走る apt-get install apache2-dbg php5-dbg
  • 再起動apacheし、エラーが発生しました。ログには、ディレクトリにコアダンプがある可能性があると記載されていますが、空です。

また、apache2の実行可能ファイルでgdbを直接使用しようとしましたが、apachectlまたはで起動しない限り、apacheは起動しませんservice apache2 start

コアダンプを取得して問題をデバッグする方法、またはgdbApacheに直接アタッチする方法を教えてください。


かつてのために、ここを見て:serverfault.com/questions/470407/...を後者のために、ここで:httpd.apache.org/dev/debugging.html#gdb
エルダーオタク

残念ながら、これはうまくいきませんでした。最初のリンクで提案されているように権限を設定しようとしましたが、コアがダンプされません。私はすでに2番目のリンクを知っていました。それは本当にubuntu固有の方法で私の質問に答えません(Ubuntuにはhttpd実行可能ファイルがなく、apache2を直接呼び出すことは前述の理由で機能しません)。
Andreas Hartmann

コアダンプは代わりに/ tmpにありますか?
オタク長老2015

コアダンプを別のフォルダーに配置するように指定したので、/ tmpにはありません。
Andreas Hartmann

私はapportを使用したくありません。おそらくApacheのバグではないので、ローカルで問題を調べてエラーを報告したくないのです。
Andreas Hartmann、

回答:


4

ulimit -c unlimited 現在のシェルにのみ影響します。

これを確認するには、出力を確認しますcat /proc/$(pidof -s apache2)

追加ulimit -c unlimited/etc/default/apache2、今cat /proc/$(pidof -s apache2)/limits含む

Max core file size        unlimited            unlimited            bytes

私はこれを試しましたが、それでもApache(12 LTS)がコアをダンプすることができませんでした。何かご意見は?
Josip Rodin

回答が見つかりました-でapportが有効になり/etc/default/apport、カーネルコアダンプパターンが自分に合うように変更されました。参照してくださいserverfault.com/questions/470407/...
ヨシップ・ロダン

echo '/tmp/apache-coredumps/core-%e.%p'> / proc / sys / kernel / core_pattern
Rudger
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.