我的 14.10 Ubuntu 服务器出现问题。在执行某些操作后,我的 apache2 重新启动并出现分段错误。为了调试这个问题,我想创建一个核心转储。我做了以下事情:
- 添加
CoreDumpDirectory /tmp/apache-coredumps
到配置文件 - 跑
ulimit -c unlimited
- 跑
apt-get install apache2-dbg php5-dbg
- 重新启动
apache
并导致错误。日志声称目录中可能有一个核心转储,但它是空的。
apachectl
我还尝试直接在 apache2 的可执行文件上使用 gdb,但除非通过or启动,否则 apache 不会启动service apache2 start
。
如何获取核心转储来调试我的问题或者如何gdb
直接附加到 apache?
ulimit -c unlimited
只影响你当前的 shell。您可以通过查看输出来确认这一点
cat /proc/$(pidof -s apache2)
。我添加
ulimit -c unlimited
到/etc/default/apache2
现在cat /proc/$(pidof -s apache2)/limits
包括