1

Прежде всего: у меня включены дампы ядра, и они работают большую часть времени.

Так что одна программа время от времени дает сбой и генерирует дамп ядра. Но иногда происходит сбой без дампа ядра. Что очень расстраивает.

Есть ли сбои настолько тяжелые, что не вызывают дамп ядра?

1 ответ1

0

Существует несколько причин сбоя, не приводящего к дампу ядра, первая из которых, я думаю, не относится к вам:

1) ulimit не был установлен на неограниченное количество: вы должны выдать

  ulimit -c unlimited

2) Недостаточно места на диске, или вам не разрешено писать в каталог, из которого вы выполнили сбойную команду, или вы можете перезаписать существующий файл;

3) Программа требует некоторой программы setxid, в этом случае данные не сбрасываются из соображений безопасности. Дамп может содержать некоторые конфиденциальные данные, которые будут доступны для неавторизованных пользователей. Чтобы обойти это, выпустите, как sudo,

 echo 2 >/proc/sys/fs/suid_dumpable

Обратите внимание на необычный флаг, 2: 1 означает, что вся защита отключена, чтобы разрешить отладку системы в целом. 2 более ограничен.

Если у вас есть доступ к коду, вы можете попробовать включить setrlimit внутри кода или сделать вызов prctl(PR_SET_DUMPABLE, 1).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .