На старой встроенной платформе Linux (ядро 2.6.32, работающей с busybox) я настроил систему для отправки дампов памяти с помощью netcat на удаленный сервер с помощью echo "| /usr/bin/nc " > /proc/sys/kernel/core_pattern и установив ulimit -c неограниченный в оболочке, которая запускает программу.
Теперь, если программа происходит сбой сам по себе, дампы памяти генерируются и отправляются правильно. Однако, если я вручную вызываю сбой программы с помощью kill -11
или любого другого сигнала, программа останавливается, но дамп ядра не генерируется и не отправляется. В чем может быть причина этого?
Я пробовал устанавливать разные ограничения, например ulimit -c 8192, или регистрировать или нет обработчики сигналов для разных сигналов, таких как SIGSEGV или SIGABORT, но это не имело никакого значения. Что еще я мог бы попробовать, поискать?
Подробнее здесь: https://stackoverflow.com/questions/798 ... rrespondin
Мобильная версия