梦飞科技 > 虚拟主机 > directadmin > 调试apache segfault

调试apache segfault

调试Apache segfaults可能会非常棘手,试图找出哪个模块可能导致它。
你可能在/ var / log / httpd / error_log中看到类似这样的内容:

[Mon Aug 07 23:56:18.309463 2017] [core:notice] [pid 17630] AH00052: child pid 18187 exit signal Aborted (6)

  1. 您可以使用gdb选项来调试它,如下所示:

    service httpd stop
    gdb /usr/sbin/httpd

    并快速(在dataskq再次启动之前),运行:

    run -X -d /etc/httpd

    它应该让你在前台触发一个请求,所以在任何其他连接到达你的服务器之前都要快速完成。
  2. 希望这会引发你的段错误,在这种情况下它可能会显示:

    Thread 1 "httpd" received signal SIGABRT, Aborted.

    以及有关它在哪里坠毁的其他信息。
  3. 要查看有关用于实现该点的功能树的更多详细信息,请像这样调用回溯:

    bt full

    它应该给你所调用的函数列表,它在哪里开始降低,并在输出的顶部结束。 在那里的某个地方可能会告诉你哪个模块触发了它。
  4. 要退出gdb,只需运行:

    quit


(责任编辑:张宇)

分享按钮
相关文章