分析Apache/PHP核心转储

分析Apache/PHP核心转储,php,linux,apache,segmentation-fault,Php,Linux,Apache,Segmentation Fault,我偶尔会遇到apache的Seg故障,因此我在服务器上启用了core dump,以尝试找出发生了什么。昨天晚上,我又得到了一个,并试图检查核心转储,以了解发生了什么。这绝对是一个PHP过程,所以我在谷歌上搜索了如何专门针对PHP检查这些过程。我下载了PHP5.2的.gdbinit文件,并在转储文件上运行了以下操作: $ gdb apache2 dumpfile [reading/loading symbols] (gdb) bt [...backtrace...] (gdb) source ~/

我偶尔会遇到apache的Seg故障,因此我在服务器上启用了core dump,以尝试找出发生了什么。昨天晚上,我又得到了一个,并试图检查核心转储,以了解发生了什么。这绝对是一个PHP过程,所以我在谷歌上搜索了如何专门针对PHP检查这些过程。我下载了PHP5.2的.gdbinit文件,并在转储文件上运行了以下操作:

$ 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.

我应该在
dump\u bt executor\u globals之后得到一个回溯。导致seg错误的PHP脚本的当前\u execute\u数据
,但我不断得到
尝试提取非结构值的组件。
相反。

第一次,我遇到了与您相同的问题。再次运行btdump_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 
(gdb)转储执行器全局。当前执行数据
尝试提取非结构值的组件。
(gdb)英国电信
#0 0x00002AF874A5DA,位于/usr/lib64/libMagick.so.10中的AppendImages()中
#来自/usr/lib64/libWand.so.10的MagickAppendImages()中的1 0x00002af8f84586ce
#zim_imagick_appendimages中的2 0x00002AF81A3AD8(ht=,返回值=0x2af8f9ded108,
return_value_ptr=,this_ptr=,return_value_used=)
at/var/tmp/imagick/imagick_c类:8790
(gdb)转储执行器全局数据。当前执行数据
[0xe8609940]appendimages()/var/www/html/xx/yy.php:803
[0xe8605070]genCode()/var/www/html/xx/zz.php:127

可以是模块/扩展版本mismatch@FractalizeRPHP版本是5.2.4,有同样的问题,quanta的答案并不能解决我的用例中的问题。