Я заметил, что в системе 12.04 настройка ulimit -c unlimited
и отправка Ctrl kbd> + \ kbd> не дают ожидаемого результата.
Хотя оболочка печатает
^\zsh: quit (core dumped)
, насколько я могу судить, дамп ядра не записывается.
Файл /proc/sys/kernel/core_pattern
содержит канал apport
- таким образом, кажется, что по умолчанию apport
теперь отвечает за запись дампов ядра.
Каталог /var/crash
не содержит недавний дамп ядра для моего приложения.
Таким образом, мой вопрос: игнорирует ли apport SIGQUIT-индуцированные дампы ядра?
Если да:
(Поскольку настройка обходного пути /proc/sys/kernel/core_pattern
- core
работает, как и ожидалось, то есть я получаю дамп ядра с именем core
в моем CWD после удар SIGQUIT.)
Apport фильтры Coredumps на SIGQUIT. Вы найдете обсуждение на Launchpad об этой проблеме ( dumps core на SIGQUIT ). Есть веские аргументы, чтобы изменить это поведение, но не ясно, сделает ли это Ubuntu.
Да, apport игнорирует SIGQUIT и да, это ошибка IMO.
Я сообщил об этом в https://bugs.launchpad.net/ubuntu/+source/apport/+bug/1153662 с патчем, и исправление было выпущено.