如何调试阿帕奇?我在哪里可以找到核心转储

Posted

技术标签:

【中文标题】如何调试阿帕奇?我在哪里可以找到核心转储【英文标题】:how to debug apache? where do I find the core dump 【发布时间】:2013-01-16 16:03:14 【问题描述】:

我正在编写一些作为 Apache 的一部分运行的 CPP 代码。 我有一个段错误。我在哪里可以找到核心转储,以便我可以调试它。 如果没有核心转储,我如何告诉 Apache 创建一个(是否有调试标志?)

【问题讨论】:

我希望您使用 -X 进行 apache 调试会话。当您在调试器中直接启动进程时,它使调试 apache 变得更加容易,而不是仅仅依赖于记录的输出、核心文件或寻找正在运行的进程以附加到(这对于启动错误来说是一个真正的负担)。我不知道该功能是否仅适用于 Windows,但如果您可以使用它,它就是救命稻草。 【参考方案1】:

通过ulimit -c 设置是否转储核心。是否转储内核不是由应用程序决定的(内核是由操作系统生成的,而不是应用程序,它已经在那个时候消失了)。

核心文件应位于启动应用程序的目录中。

无论应用程序是否为调试版本,都可以/将转储内核。 (当然,由于进程映像中缺少调试符号,非调试版本的核心转储不太有用。)

【讨论】:

所以,如果我执行 /usr/local/apache2/bin/apachectl start。我应该期望在 /usr/local/apache2/bin 中看到核心转储? 位置其实是可配置的,见:***.com/questions/2065912/… 核心转储到工作目录。默认情况下,这是您拨打/usr/local/apache2/bin/apachectl 时所在的那个。该进程可以cwd 离开那里,如果是Apache,将尝试这样做以将核心转储到Apache 配置中指定为CoreDumpDirectory 的目录中。是否成功取决于您的系统/配置,当然......

以上是关于如何调试阿帕奇?我在哪里可以找到核心转储的主要内容,如果未能解决你的问题,请参考以下文章

阿帕奇配置。如何禁止查看根文件夹

阿帕奇安装; libpcre 错误

【PHP】如何配置阿帕奇汤姆猫服务器?【急】

win7 32下阿帕奇服务器怎么配置ssl

在虚拟机上的关于Apache(阿帕奇)基于端口访问网站

当 URL 包含百分比符号时如何停止错误 400? (阿帕奇)