用mod_include分割错误

我正在使用一个相当复杂的结构,包含多个ssi-includes,set-和echo-命令。

第一个文件写很多设置命令,然后再包含另一个文件包含第三个文件。 在最后包含的文档中,使用echo-command打印variables值。

我注意到,随着variables数量的增加,分段错误发生的概率上升。

有没有人遇到类似的东西? 我如何去debugging这样的问题?

我正在使用IBM_HTTP_Server / 2.0.47.1-PK65782 Apache / 2.0.47

一般来说Apache不应该分段错误。 我会使用一个testing服务器,打开所有的日志logging,并用strace来窥探这个进程,看看它在哪里进行分割。

如果你确定它是mod_include,那么确保它是用你正在运行的相同版本的apache编译的 – 如果它被编译为可以解释段错误的不同版本。

如果是段错误,你应该能够获取一个核心转储,这将有助于理解代码级别发生了什么。 请查阅您的操作系统文档以了解如何收集转储。 一旦你有了它,你可以使用你最喜欢的debugging器来检查崩溃时进程的完整内部状态。

Strace对segfaults没有什么帮助,因为它只会告诉你在userland和kernel之间会发生什么,而segfault通常是一个纯粹的userland问题。 如果你正在运行Linux,valgrind和ltrace在这种情况下更合适。 但是首先,退出核心。