Bagaimana cara mendapatkan dump inti apache?


8

Saya mengalami masalah dengan Server Ubuntu 14.10 saya. Setelah melakukan tindakan tertentu apache2 saya restart dengan kesalahan kesalahan segmentasi. Untuk men-debug masalah ini, saya ingin membuat dump inti. Saya telah melakukan yang berikut:

  • ditambahkan CoreDumpDirectory /tmp/apache-coredumpske file konfigurasi
  • Lari ulimit -c unlimited
  • Lari apt-get install apache2-dbg php5-dbg
  • restart apachedan menyebabkan kesalahan. Log mengklaim mungkin ada dump inti di direktori, namun kosong.

Saya juga mencoba menggunakan gdb langsung pada executable apache2, tetapi apache tidak akan mulai kecuali dimulai melalui apachectlatau service apache2 start.

Bagaimana saya bisa mendapatkan dump inti untuk men-debug masalah saya ATAU bagaimana saya bisa melampirkan gdblangsung ke apache?


Untuk yang pertama, lihat di sini: serverfault.com/questions/470407/… untuk yang terakhir, di sini: httpd.apache.org/dev/debugging.html#gdb
Penatua Geek

Sayangnya, ini tidak berhasil. Saya mencoba mengatur izin seperti yang disarankan di tautan pertama, namun tetap tidak ada inti yang dibuang. Saya sudah tahu tautan kedua. Itu tidak benar-benar menjawab pertanyaan saya dengan cara spesifik ubuntu (Ubuntu tidak memiliki executable httpd, dan memanggil apache2 secara langsung tidak berfungsi karena alasan yang disebutkan sebelumnya).
Andreas Hartmann

Apakah mungkin coredump di / tmp?
Penatua Geek

Saya menentukan dump inti untuk ditempatkan di folder yang berbeda, jadi itu bukan di / tmp.
Andreas Hartmann

Saya tidak ingin menggunakan apport, saya ingin memeriksa masalah saya secara lokal dan tidak melaporkan kesalahan, karena itu mungkin bukan bug apache.
Andreas Hartmann

Jawaban:


4

ulimit -c unlimited hanya memengaruhi shell Anda saat ini.

Anda dapat mengkonfirmasi ini dengan melihat output cat /proc/$(pidof -s apache2).

Saya menambahkan ulimit -c unlimitedke /etc/default/apache2dan sekarang cat /proc/$(pidof -s apache2)/limitstermasuk

Max core file size        unlimited            unlimited            bytes

Saya mencoba ini tetapi masih tidak mendapatkan Apache (12 LTS) untuk membuang inti. Adakah pikiran?
Josip Rodin

Ditemukan jawabannya - apport diaktifkan /etc/default/apport, dan itu mengubah pola dump inti kernel sesuai dengan dirinya sendiri. Lihat serverfault.com/questions/470407/…
Josip Rodin

echo '/tmp/apache-coredumps/core-%e.%p'> / proc / sys / kernel / core_pattern
Rudger
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.