每小时左右一个Apache子进程seg.我们的Web服务器上的错误.我们正在运行一个带有Apache prefork MPM的非线程
PHP 5.2.17 Apache模块.我已经运行了几个核心转储,gdb和
this .gdbinit file from php’s github repo的httpd,在每个gdb中键入此命令:
dump_bt executor_globals.current_execute_data
由于没有使用gdb或php解释器的内部工作经验,我无法从结果中做任何事情.
core.22762
[0x53896ef0] () :-2118682552
[0x538977a0] () /Statement/Interface.php:113
[0x538978a0] /Zend/Db/Statement/Interface.php()
core.22791
[0x538977a0] () @:0
[0x538978a0] ()
core.5568
[0x53896ef0] () :2061035360
[0x538977a0] () :1767992432
[0x538978a0] ()
core.30384
[0x538977a0] () :0
[0x538978a0] ()
core.3091
[0x53896ef0] mysql_query():992424253
[0x538977a0] () ~:17
[0x538978a0] ()
(core.3091也在程序终止后显示信号11,分段故障.)
#0 0x00002b6e7ad8d67d in zend_do_fcall_common_helper_SPEC (execute_data=0x7fff53896ef0) at /usr/src/debug/php-5.2.17/Zend/zend_vm_execute.h:217
217 EX_T(opline->result.u.var).var.fcall_returned_reference = return_reference;
是否还有其他东西可以在gdb中输入以获得更好的堆栈跟踪?调试Apache分段错误时还有其他什么吗?
非常感谢任何帮助,谢谢.