web-dev-qa-db-fra.com

Comment obtenir un core dump Apache?

J'ai des problèmes avec mon serveur 14.10 Ubuntu. Lors de l'exécution de certaines actions, Apache2 redémarre avec une erreur de segmentation. Afin de résoudre ce problème, je voudrais créer un vidage mémoire. J'ai fait ce qui suit:

  • ajouté CoreDumpDirectory /tmp/Apache-coredumps au fichier de configuration
  • Exécutez ulimit -c unlimited
  • Exécutez apt-get install Apache2-dbg php5-dbg
  • redémarré Apacheet a provoqué l'erreur. Le journal affirme qu'il peut y avoir un core dump dans le répertoire, mais il est vide.

J'ai également essayé d'utiliser gdb directement sur l'exécutable d'Apache2, mais Apache ne démarre que s'il est lancé via apachectlou service Apache2 start.

Comment puis-je obtenir un core dump pour déboguer mon problème OR comment puis-je attacher gdbdirectement à apache?

8
Andreas Hartmann

ulimit -c unlimited affecte uniquement votre Shell actuel.

Vous pouvez le confirmer en consultant la sortie cat /proc/$(pidof -s Apache2).

J'ai ajouté ulimit -c unlimited à /etc/default/Apache2 et maintenant cat /proc/$(pidof -s Apache2)/limits inclut

Max core file size        unlimited            unlimited            bytes