2010-12-02 7 views
2

Apacheで時々起こるSeg Faultを取得しているので、サーバ上でコアダンプを有効にして何が起こっているのかを調べようとしました。昨晩、私は別のものを手に入れ、何が起きているのかを知るためにコアダンプを調べようとしていました。それは間違いなくPHPプロセスなので、私はこれらをPHPのために調べる方法を尋ねました。私は、PHP 5.2のために.gdbinitファイルをダウンロードし、私は、ダンプ・ファイルに次のことを実行しました:Apache/PHPコアダンプを分析する

$ gdb apache2 dumpfile 
[reading/loading symbols] 
(gdb) bt 
[...backtrace...] 
(gdb) source ~/.gdbinit 
(gdb) dump_bt executor_globals.current_execute_data 
Attempt to extract a component of a value that is not a structure. 

私はワンセグ障害を引き起こしたPHPスクリプトのdump_bt executor_globals.current_execute_data後にバックトレースを取得する必要がありますが、私は代わりにAttempt to extract a component of a value that is not a structure.を得続けます。

+0

がここにモジュール/拡張バージョンの不一致 – stillstanding

+0

ダンプPHPのバージョンである可能性があります。 –

+0

@FractalizeR PHPのバージョンは5.2.4です – JamesArmes

答えて

1

初めて、私はあなたと同じ問題を抱えていました。再びコマンドdump_bt BT を実行し、それが動作します:

(gdb) dump_bt executor_globals.current_execute_data 
Attempt to extract a component of a value that is not a structure. 

(gdb) bt 
#0 0x00002af8f874a5da in AppendImages() from /usr/lib64/libMagick.so.10 
#1 0x00002af8f84586ce in MagickAppendImages() from /usr/lib64/libWand.so.10 
#2 0x00002af8f81a3ad8 in zim_imagick_appendimages (ht=<value optimized out>, return_value=0x2af8f9ded108, 
    return_value_ptr=<value optimized out>, this_ptr=<value optimized out>, return_value_used=<value optimized out>) 
    at /var/tmp/imagick/imagick_class.c:8790 

(gdb) dump_bt executor_globals.current_execute_data 
[0xe8609940] appendimages() /var/www/html/xx/yy.php:803 
[0xe8605070] genCode() /var/www/html/xx/zz.php:127