Jak uzyskać zrzut rdzenia Apache?


8

Mam problemy z moim Ubuntu Server 14.10. Po wykonaniu pewnych czynności mój apache2 uruchamia się ponownie z błędem błędu segmentacji. W celu debugowania tego problemu chciałbym utworzyć zrzut podstawowy. Zrobiłem następujące:

  • dodano CoreDumpDirectory /tmp/apache-coredumpsdo pliku konfiguracyjnego
  • Biegać ulimit -c unlimited
  • Biegać apt-get install apache2-dbg php5-dbg
  • zrestartował się apachei spowodował błąd. Dziennik twierdzi, że w katalogu może znajdować się zrzut pamięci, jednak jest on pusty.

Próbowałem także użyć gdb bezpośrednio w pliku wykonywalnym apache2, ale apache nie uruchomi się, dopóki nie zostanie uruchomiony przez apachectllub service apache2 start.

Jak mogę uzyskać zrzut podstawowy do debugowania mojego problemu LUB JAK mogę dołączyć gdbbezpośrednio do apache?



Niestety to nie zadziałało. Próbowałem ustawić uprawnienia zgodnie z sugestią podaną w pierwszym łączu, ale nadal nie ma zrzutu rdzenia. Znałem już drugi link. Naprawdę nie odpowiada na moje pytanie w sposób specyficzny dla Ubuntu (Ubuntu nie ma pliku wykonywalnego httpd, a bezpośrednie wywoływanie apache2 nie działa z wcześniej wymienionych powodów).
Andreas Hartmann

Czy zamiast tego może być rdzeń w / tmp?
Starszy Geek

Podałem zrzut rdzenia, który ma być umieszczony w innym folderze, więc nie ma go w katalogu / tmp.
Andreas Hartmann

Nie chcę używać apport, chcę zbadać mój problem lokalnie i nie zgłaszać błędu, ponieważ prawdopodobnie nie jest to błąd apache.
Andreas Hartmann

Odpowiedzi:


4

ulimit -c unlimited wpływa tylko na twoją bieżącą powłokę.

Możesz to potwierdzić, patrząc na dane wyjściowe cat /proc/$(pidof -s apache2).

Dodałem ulimit -c unlimiteddo /etc/default/apache2i teraz cat /proc/$(pidof -s apache2)/limitsobejmuje

Max core file size        unlimited            unlimited            bytes

Próbowałem tego, ale wciąż nie udało się Apache (12 LTS) zrzucić rdzenia. jakieś pomysły?
Josip Rodin

Znalazłem odpowiedź - apport został włączony /etc/default/apporti zmienił wzór zrzutu rdzenia jądra, aby pasował do siebie. Zobacz serverfault.com/questions/470407/…
Josip Rodin

echo '/tmp/apache-coredumps/core-%e.%p'> / proc / sys / kernel / core_pattern
Rudger
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.