我正在尝试从PHP生成的核心文件中获取回溯。
我正在关注this guide,当我尝试使用以下方法打印函数名称时
print (char *)(executor_globals.function_state_ptr->function)->common.function_name
我收到错误:
No symbol "executor_globals" in current context.
我正在运行GDB:
gdb /usr/sbin/apache2 /mnt/cores/core.apache2.8315
有趣的是,在Ubuntu上使用libapache2-mod-php5包时我没有这个问题。我不得不编译自己的PHP模块来修复一个不同的问题,而这个编译过的模块给我带来了麻烦。
谷歌搜索“无符号executor_globals”实际上返回0结果,我觉得很奇怪。我是认真对待这个问题的唯一人吗?答案 0 :(得分:0)
我最终通过针对非线程Apache编译PHP来解决这个问题,有效地禁用了PHP模块中的线程安全性,这正是我想要的。
更具体地说,我在configure args中指定的apxs2二进制文件来自Ubuntu apache2-threaded-dev包,而在服务器上运行的Apache是prefork,而不是线程。所以我只需要安装apache2-prefork-dev软件包然后重新编译,我很高兴。