Если получаем segmentation fault…
Сначала, нужно включить создание дампов, допустим, в директорию /var/log/dups
mkdir -p /var/log/dumps chmod -R 1777 /var/log/dumps echo 'kernel.core_pattern = /var/log/dumps/core.%e.%p' >> /etc/sysctl.conf sysctl -p |
Теперь, разрешить системе создавать дампы:
ulimit -c unlimited |
Посмотреть текущее состояние можно так:
ulimit -a|grep core |
Два варианта ответа этой команды:
core file size (blocks, -c) 0 #выключено core file size (blocks, -c) unlimited #Включено
Теперь, непосредственно анализ дампа:
gdb /usr/bin/проблемное_приложение core /var/log/dumps/созданный_им_дамп |
Для Apache еще потребуется, в зависимости от ОС:
echo 'CoreDumpDirectory /var/log/dumps' > /etc/httpd/conf.d/coredumps.conf
или
echo 'CoreDumpDirectory /var/log/dumps' > /etc/apache2/conf.d/coredumps.conf
Опубликовано 21 октября 2014 - информация могла устареть.