0

我对 PHP5.4.11 和 APC 扩展(在 apache2 上)有疑问。在缓存一定数量的文件后,它会崩溃。我猜我需要一个核心转储来用 gdb 调查它?我还假设我必须使用调试标志编译扩展(或者可能)整个 PHP 以使源代码对 gdb 可见?

以上是我的猜测。如果有更好的方法,我愿意接受建议。

4

1 回答 1

0

尝试在您编译的 C 代码中添加一个段错误处理程序,这将帮助您找到问题所在

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <execinfo.h>
#include <signal.h>

void *array[50];
char **strings;
size_t size,i;

void handler(int)
{
size = backtrace(array,50);
strings = backtrace_symbols(array,size);
for (i=0;i < size;i++)
   printf("%s\n",strings[i]);
free(strings);
printf("sig sev caught\n");
exit(0);
}

void toto()
{
char *x;
*x = 8; // writing uninitialized pointer
}

int main()
{
signal(SIGSEGV,handler);

toto();

}
于 2013-02-08T08:31:29.147 回答