1

私の本番サーバー上のApacheは、断続的にseg障害が発生しています。apache構成でコアダンプオプションを有効にし、いくつかのコアファイルをダンプしました。残念ながら、これは本番サーバーであるため、Apacheまたはロードされたモジュールはデバッグシンボルでコンパイルされません。私が理解していることから、g​​dbはデバッグシンボルなしでは多くのことを行うことができません。

デバッグシンボルなしで、少なくともどのモジュールがセグメンテーション違反を引き起こしているのかを知ることができますか?もしそうなら、どのように?

[更新] 以下はgdbバックトレースからの出力です

(gdb) bt full
#0  0xb7f1f832 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
No symbol table info available.
#1  0xb7be82bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb771652a in ?? () from /usr/local/apache/modules/mod_pagespeed.so
No symbol table info available.
#3  0xb75df576 in ?? () from /usr/local/apache/modules/mod_pagespeed.so
No symbol table info available.
#4  0xb7715c20 in ?? () from /usr/local/apache/modules/mod_pagespeed.so
No symbol table info available.
#5  0xb7be4a49 in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#6  0xb7b2a63e in clone () from /lib/libc.so.6
No symbol table info available.

これは、/ lib / ld-linux.so.2がセグメンテーション違反を引き起こしていることを意味しますか?

4

1 に答える 1

1

をすばやく検索すると_dl_sysinfo_int80、次のスレッドが見つかりました...

http://linux.derkeiler.com/Newsgroups/comp.os.linux.development.apps/2005-02/0462.html

あなたの質問に答えるために、私はそれ/lib/ld-linux.so.2がセグメンテーション違反を引き起こしているとは思えません。これは、待機している多くのスレッドの1つにすぎません。

実行thread apply all bt fullして、クラッシュ時に実行されていたすべてのスレッドのスタックトレースを取得します。次に、どのスレッドがSEGFAULTを引き起こしているのかを明確にする必要があります。これにより、何が起こっているかについてのより多くの証拠が得られるはずです。

于 2012-10-29T12:11:30.453 に答える