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-coredumps
do pliku konfiguracyjnego - Biegać
ulimit -c unlimited
- Biegać
apt-get install apache2-dbg php5-dbg
- zrestartował się
apache
i 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 apachectl
lub service apache2 start
.
Jak mogę uzyskać zrzut podstawowy do debugowania mojego problemu LUB JAK mogę dołączyć gdb
bezpośrednio do apache?
Odpowiedzi:
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 unlimited
do/etc/default/apache2
i terazcat /proc/$(pidof -s apache2)/limits
obejmujeźródło
/etc/default/apport
i zmienił wzór zrzutu rdzenia jądra, aby pasował do siebie. Zobacz serverfault.com/questions/470407/…