5

わかりましたので、かなり巨大な社内システムがあります。私たちには、何か問題が発生した場合、または少なくとも私たちを正しい方向に向けてくれます。

少し前までは、コードのコピーを取得し、Rackspace でホストされているクライアントの外部専用サーバーでホストする必要がありました。数か月間すべてが正常に機能していたことを考えると、突然、サーバーがヒッシーフィットとセグメンテーション違反をスローし続けました。

[お知らせ] child pid 8628 exit シグナル セグメンテーション違反 (11)

コードは変更されていませんが、ホストはおそらく PHP の問題であり、開発者 (私たち) が調査する必要があると述べています。私は問題さえ見たことがありません.apacheログがローテーションする特定の時間帯(夜遅く)に、これが原因で倒れるということだけです.

私はコアダンプを有効にするようにそれらを取得し、それらの束で武装しており、PHP によって引き起こされた Apache セグメンテーション違反を修正していますが、ラックスペースはすべての php および apache ソースディレクトリを神が知っている場所に移動したようです.gdbinit が見つかりません「find」を使用してサーバー上のどこでも、gdbから取得できるのはほぼすべてです

Program terminated with signal 11, Segmentation fault.
#0  0x00002b8d6fc36c60 in ?? ()

...試してみると、それほど役に立ちません!!!

私のコードでこの想定される問題を追跡することからどこから始めるべきかについてのアイデアはありますか?

4

2 に答える 2

1

GDBを使用してアプリケーションコアをデバッグする方法を知っている場合は、ここにソースRPMとRPMがあります。

また、アプリケーションコアで「文字列」を実行することをお勧めします。これはあなたに正確な問題を与えることはありませんが、多くの場合、それは何か有用なものを与えます。

HTH

于 2012-10-18T17:00:24.437 に答える
1

PIDをApacheログに追加することから始めて、どれが何の後に死ぬかを確認できます...少なくとも同じリクエストかどうかがわかります。

また、クラッシュが始まる直前に更新されたものを確認したり、一部のモジュールが更新されてそれらなしでは生きられない場合は、以前の構成にロールバックできる可能性があります。

于 2012-10-18T16:06:14.250 に答える